# typed: true

# DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the ‘rubocop` gem. # Please instead update this file by running `bin/tapioca gem rubocop`.

class Parser::Source::Comment

include ::RuboCop::Ext::Comment

end

class Parser::Source::Range

include ::RuboCop::Ext::Range

end

class Regexp::Expression::Base

include ::RuboCop::Ext::RegexpParser::Expression::Base

end

class Regexp::Expression::CharacterSet < ::Regexp::Expression::Subexpression

include ::RuboCop::Ext::RegexpParser::Expression::CharacterSet

end

class Regexp::Expression::Quantifier

include ::RuboCop::Ext::RegexpParser::Expression::Base

end

# source://rubocop//lib/rubocop/version.rb#3 module RuboCop; end

class RuboCop::AST::ProcessedSource

include ::RuboCop::Ext::ProcessedSource

end

class RuboCop::AST::RegexpNode < ::RuboCop::AST::Node

include ::RuboCop::Ext::RegexpNode

end

# This is a class that reads optional command line arguments to rubocop from environment variable. # # @api private # # source://rubocop//lib/rubocop/arguments_env.rb#6 class RuboCop::ArgumentsEnv

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/arguments_env.rb#7
  def read_as_arguments; end
end

end

# This is a class that reads optional command line arguments to rubocop from .rubocop file. # # @api private # # source://rubocop//lib/rubocop/arguments_file.rb#6 class RuboCop::ArgumentsFile

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/arguments_file.rb#7
  def read_as_arguments; end
end

end

# The CLI is a class responsible of handling all the command line interface # logic. # # source://rubocop//lib/rubocop/cli.rb#8 class RuboCop::CLI

# @return [CLI] a new instance of CLI
#
# source://rubocop//lib/rubocop/cli.rb#24
def initialize; end

# Returns the value of attribute config_store.
#
# source://rubocop//lib/rubocop/cli.rb#22
def config_store; end

# Returns the value of attribute options.
#
# source://rubocop//lib/rubocop/cli.rb#22
def options; end

# Entry point for the application logic. Here we
# do the command line arguments processing and inspect
# the target files.
#
#
# @api public
# @param args [Array<String>] command line arguments
# @return [Integer] UNIX exit code
#
# source://rubocop//lib/rubocop/cli.rb#39
def run(args = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cli.rb#152
def act_on_options; end

# source://rubocop//lib/rubocop/cli.rb#194
def apply_default_formatter; end

# source://rubocop//lib/rubocop/cli.rb#121
def execute_runners; end

# source://rubocop//lib/rubocop/cli.rb#178
def handle_editor_mode; end

# @raise [Finished]
#
# source://rubocop//lib/rubocop/cli.rb#183
def handle_exiting_options; end

# source://rubocop//lib/rubocop/cli.rb#140
def parallel_by_default!; end

# source://rubocop//lib/rubocop/cli.rb#76
def profile_if_needed; end

# source://rubocop//lib/rubocop/cli.rb#109
def require_gem(name); end

# source://rubocop//lib/rubocop/cli.rb#117
def run_command(name); end

# source://rubocop//lib/rubocop/cli.rb#170
def set_options_to_config_loader; end

# source://rubocop//lib/rubocop/cli.rb#129
def suggest_extensions; end

# @raise [OptionArgumentError]
#
# source://rubocop//lib/rubocop/cli.rb#133
def validate_options_vs_config; end

end

# Home of subcommands in the CLI. # # @api private # # source://rubocop//lib/rubocop/cli/command.rb#7 module RuboCop::CLI::Command

class << self
  # Find the command with a given name and run it in an environment.
  #
  # @api private
  #
  # source://rubocop//lib/rubocop/cli/command.rb#10
  def run(env, name); end

  private

  # @api private
  #
  # source://rubocop//lib/rubocop/cli/command.rb#16
  def class_for(name); end
end

end

# Generate a configuration file acting as a TODO list. # # @api private # # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#8 class RuboCop::CLI::Command::AutoGenerateConfig < ::RuboCop::CLI::Command::Base

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#25
def run; end

private

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#107
def add_formatter; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#115
def add_inheritance_from_auto_generated_file(config_file); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#111
def execute_runner; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#136
def existing_configuration(config_file); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#65
def line_length_cop(config); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#53
def line_length_enabled?(config); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#61
def max_line_length(config); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#34
def maybe_run_line_length_cop; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#73
def only_exclude?; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#162
def options_config_in_root?; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#69
def options_has_only_flag?; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#153
def relative_path_to_todo_from_options_config; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#100
def reset_config_and_auto_gen_file; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#91
def run_all_cops(line_length_contents); end

# Do an initial run with only Layout/LineLength so that cops that
# depend on Layout/LineLength:Max get the correct value for that
# parameter.
#
# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#80
def run_line_length_cop; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#57
def same_max_line_length?(config1, config2); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#48
def skip_line_length_cop(reason); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#142
def write_config_file(file_name, file_string, rubocop_yml_contents); end

end

# @api private # # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#11 RuboCop::CLI::Command::AutoGenerateConfig::AUTO_GENERATED_FILE = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#15 RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1 = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#19 RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1_DISABLED = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#18 RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1_OVERRIDDEN = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#20 RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1_SKIPPED_ONLY_COPS = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#22 RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1_SKIPPED_ONLY_EXCLUDE = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#16 RuboCop::CLI::Command::AutoGenerateConfig::PHASE_2 = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#13 RuboCop::CLI::Command::AutoGenerateConfig::PLACEHOLDER = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#12 RuboCop::CLI::Command::AutoGenerateConfig::YAML_OPTIONAL_DOC_START = T.let(T.unsafe(nil), Regexp)

# A subcommand in the CLI. # # @api private # # source://rubocop//lib/rubocop/cli/command/base.rb#8 class RuboCop::CLI::Command::Base

# @api private
# @return [Base] a new instance of Base
#
# source://rubocop//lib/rubocop/cli/command/base.rb#26
def initialize(env); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/base.rb#9
def env; end

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/cli/command/base.rb#21
  def by_command_name(name); end

  # @api private
  #
  # source://rubocop//lib/rubocop/cli/command/base.rb#14
  def command_name; end

  # @api private
  #
  # source://rubocop//lib/rubocop/cli/command/base.rb#14
  def command_name=(_arg0); end

  # @api private
  # @private
  #
  # source://rubocop//lib/rubocop/cli/command/base.rb#16
  def inherited(subclass); end
end

end

# Run all the selected cops and report the result. # # @api private # # source://rubocop//lib/rubocop/cli/command/execute_runner.rb#8 class RuboCop::CLI::Command::ExecuteRunner < ::RuboCop::CLI::Command::Base

include ::RuboCop::Formatter::TextUtil

# @api private
#
# source://rubocop//lib/rubocop/cli/command/execute_runner.rb#16
def run; end

private

# @api private
#
# source://rubocop//lib/rubocop/cli/command/execute_runner.rb#85
def bug_tracker_uri; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/execute_runner.rb#69
def display_error_summary(errors); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/execute_runner.rb#56
def display_summary(runner); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/execute_runner.rb#61
def display_warning_summary(warnings); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/execute_runner.rb#22
def execute_runner(paths); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/execute_runner.rb#91
def maybe_print_corrected_source; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/execute_runner.rb#42
def with_redirect; end

end

# Combination of short and long formatter names. # # @api private # # source://rubocop//lib/rubocop/cli/command/execute_runner.rb#12 RuboCop::CLI::Command::ExecuteRunner::INTEGRATION_FORMATTERS = T.let(T.unsafe(nil), Array)

# Generate a .rubocop.yml file in the current directory. # # @api private # # source://rubocop//lib/rubocop/cli/command/init_dotfile.rb#8 class RuboCop::CLI::Command::InitDotfile < ::RuboCop::CLI::Command::Base

# @api private
#
# source://rubocop//lib/rubocop/cli/command/init_dotfile.rb#13
def run; end

end

# @api private # # source://rubocop//lib/rubocop/cli/command/init_dotfile.rb#9 RuboCop::CLI::Command::InitDotfile::DOTFILE = T.let(T.unsafe(nil), String)

# Start Language Server Protocol of RuboCop. # # @api private # # source://rubocop//lib/rubocop/cli/command/lsp.rb#10 class RuboCop::CLI::Command::LSP < ::RuboCop::CLI::Command::Base

# @api private
#
# source://rubocop//lib/rubocop/cli/command/lsp.rb#13
def run; end

end

# Shows the given cops, or all cops by default, and their configurations # for the current directory. # # @api private # # source://rubocop//lib/rubocop/cli/command/show_cops.rb#9 class RuboCop::CLI::Command::ShowCops < ::RuboCop::CLI::Command::Base

# @api private
# @return [ShowCops] a new instance of ShowCops
#
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#12
def initialize(env); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#19
def run; end

private

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#67
def config_lines(cop); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#63
def cops_of_department(cops, department); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#25
def print_available_cops; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#48
def print_cop_details(cops); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#36
def print_cops_of_department(registry, department, show_all); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#57
def selected_cops_of_department(cops, department); end

end

# Prints out url to documentation of provided cops # or documentation base url by default. # # @api private # # source://rubocop//lib/rubocop/cli/command/show_docs_url.rb#9 class RuboCop::CLI::Command::ShowDocsUrl < ::RuboCop::CLI::Command::Base

# @api private
# @return [ShowDocsUrl] a new instance of ShowDocsUrl
#
# source://rubocop//lib/rubocop/cli/command/show_docs_url.rb#12
def initialize(env); end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_docs_url.rb#18
def run; end

private

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_docs_url.rb#38
def cops_array; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_docs_url.rb#24
def print_documentation_url; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/show_docs_url.rb#42
def registry_hash; end

end

# Suggest RuboCop extensions to install based on Gemfile dependencies. # Only primary dependencies are evaluated, so if a dependency depends on a # gem with an extension, it is not suggested. However, if an extension is # a transitive dependency, it will not be suggested. # # @api private # # source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#11 class RuboCop::CLI::Command::SuggestExtensions < ::RuboCop::CLI::Command::Base

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#17
def run; end

private

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#73
def all_extensions; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#69
def current_formatter; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#111
def dependent_gems; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#87
def extensions; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#103
def installed_and_not_loaded_extensions; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#91
def installed_extensions; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#115
def installed_gems; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#99
def loaded_extensions; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#107
def lockfile; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#95
def not_installed_extensions; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#41
def print_install_suggestions; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#51
def print_load_suggestions; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#60
def print_opt_out_instruction; end

# @api private
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#119
def puts(*args); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#30
def skip?; end

end

# Combination of short and long formatter names. # # @api private # # source://rubocop//lib/rubocop/cli/command/suggest_extensions.rb#13 RuboCop::CLI::Command::SuggestExtensions::INCLUDED_FORMATTERS = T.let(T.unsafe(nil), Array)

# Display version. # # @api private # # source://rubocop//lib/rubocop/cli/command/version.rb#8 class RuboCop::CLI::Command::Version < ::RuboCop::CLI::Command::Base

# @api private
#
# source://rubocop//lib/rubocop/cli/command/version.rb#11
def run; end

end

# source://rubocop//lib/rubocop/cli.rb#13 RuboCop::CLI::DEFAULT_PARALLEL_OPTIONS = T.let(T.unsafe(nil), Array)

# Execution environment for a CLI command. # # @api private # # source://rubocop//lib/rubocop/cli/environment.rb#7 class RuboCop::CLI::Environment

# @api private
# @return [Environment] a new instance of Environment
#
# source://rubocop//lib/rubocop/cli/environment.rb#10
def initialize(options, config_store, paths); end

# @api private
#
# source://rubocop//lib/rubocop/cli/environment.rb#8
def config_store; end

# @api private
#
# source://rubocop//lib/rubocop/cli/environment.rb#8
def options; end

# @api private
#
# source://rubocop//lib/rubocop/cli/environment.rb#8
def paths; end

# Run a command in this environment.
#
# @api private
#
# source://rubocop//lib/rubocop/cli/environment.rb#17
def run(name); end

end

# source://rubocop//lib/rubocop/cli.rb#20 class RuboCop::CLI::Finished < ::StandardError; end

# source://rubocop//lib/rubocop/cli.rb#11 RuboCop::CLI::STATUS_ERROR = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cli.rb#12 RuboCop::CLI::STATUS_INTERRUPTED = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cli.rb#10 RuboCop::CLI::STATUS_OFFENSES = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cli.rb#9 RuboCop::CLI::STATUS_SUCCESS = T.let(T.unsafe(nil), Integer)

# This class represents the cache config of the caching RuboCop runs. # # @api private # # source://rubocop//lib/rubocop/cache_config.rb#6 class RuboCop::CacheConfig

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/cache_config.rb#7
  def root_dir; end
end

end

# Converts RuboCop objects to and from the serialization format JSON. # # @api private # # source://rubocop//lib/rubocop/cached_data.rb#8 class RuboCop::CachedData

# @api private
# @return [CachedData] a new instance of CachedData
#
# source://rubocop//lib/rubocop/cached_data.rb#9
def initialize(filename); end

# @api private
#
# source://rubocop//lib/rubocop/cached_data.rb#13
def from_json(text); end

# @api private
#
# source://rubocop//lib/rubocop/cached_data.rb#17
def to_json(offenses); end

private

# Restore an offense object loaded from a JSON file.
#
# @api private
#
# source://rubocop//lib/rubocop/cached_data.rb#47
def deserialize_offenses(offenses); end

# @api private
#
# source://rubocop//lib/rubocop/cached_data.rb#40
def message(offense); end

# @api private
#
# source://rubocop//lib/rubocop/cached_data.rb#23
def serialize_offense(offense); end

end

# and provides a way to check if each cop is enabled at arbitrary line. # # source://rubocop//lib/rubocop/comment_config.rb#6 class RuboCop::CommentConfig

extend ::Forwardable

# @return [CommentConfig] a new instance of CommentConfig
#
# source://rubocop//lib/rubocop/comment_config.rb#34
def initialize(processed_source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/comment_config.rb#63
def comment_only_line?(line_number); end

# source://forwardable/1.3.3/forwardable.rb#231
def config(*args, **_arg1, &block); end

# source://rubocop//lib/rubocop/comment_config.rb#51
def cop_disabled_line_ranges; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/comment_config.rb#39
def cop_enabled_at_line?(cop, line_number); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/comment_config.rb#47
def cop_opted_in?(cop); end

# source://rubocop//lib/rubocop/comment_config.rb#55
def extra_enabled_comments; end

# Returns the value of attribute processed_source.
#
# source://rubocop//lib/rubocop/comment_config.rb#30
def processed_source; end

# source://forwardable/1.3.3/forwardable.rb#231
def registry(*args, **_arg1, &block); end

private

# source://rubocop//lib/rubocop/comment_config.rb#96
def analyze; end

# source://rubocop//lib/rubocop/comment_config.rb#124
def analyze_cop(analysis, directive); end

# source://rubocop//lib/rubocop/comment_config.rb#144
def analyze_disabled(analysis, directive); end

# source://rubocop//lib/rubocop/comment_config.rb#155
def analyze_rest(analysis, directive); end

# source://rubocop//lib/rubocop/comment_config.rb#135
def analyze_single_line(analysis, directive); end

# source://rubocop//lib/rubocop/comment_config.rb#164
def cop_line_ranges(analysis); end

# source://rubocop//lib/rubocop/comment_config.rb#170
def each_directive; end

# source://rubocop//lib/rubocop/comment_config.rb#69
def extra_enabled_comments_with_names(extras:, names:); end

# source://rubocop//lib/rubocop/comment_config.rb#190
def handle_enable_all(directive, names, extras); end

# Collect cops that have been disabled or enabled by name in a directive comment
# so that `Lint/RedundantCopEnableDirective` can register offenses correctly.
#
# source://rubocop//lib/rubocop/comment_config.rb#204
def handle_switch(directive, names, extras); end

# source://rubocop//lib/rubocop/comment_config.rb#115
def inject_disabled_cops_directives(analyses); end

# source://rubocop//lib/rubocop/comment_config.rb#183
def non_comment_token_line_numbers; end

# source://rubocop//lib/rubocop/comment_config.rb#83
def opt_in_cops; end

# source://rubocop//lib/rubocop/comment_config.rb#179
def qualified_cop_name(cop_name); end

end

# source://rubocop//lib/rubocop/comment_config.rb#9 RuboCop::CommentConfig::CONFIG_DISABLED_LINE_RANGE_MIN = T.let(T.unsafe(nil), Float)

# This class provides an API compatible with RuboCop::DirectiveComment # to be used for cops that are disabled in the config file # # source://rubocop//lib/rubocop/comment_config.rb#13 class RuboCop::CommentConfig::ConfigDisabledCopDirectiveComment

include ::RuboCop::Ext::Comment

# @return [ConfigDisabledCopDirectiveComment] a new instance of ConfigDisabledCopDirectiveComment
#
# source://rubocop//lib/rubocop/comment_config.rb#21
def initialize(cop_name); end

# Returns the value of attribute line_number.
#
# source://rubocop//lib/rubocop/comment_config.rb#16
def line_number; end

# Returns the value of attribute loc.
#
# source://rubocop//lib/rubocop/comment_config.rb#16
def loc; end

# Returns the value of attribute text.
#
# source://rubocop//lib/rubocop/comment_config.rb#16
def text; end

end

# source://rubocop//lib/rubocop/comment_config.rb#19 class RuboCop::CommentConfig::ConfigDisabledCopDirectiveComment::Expression < ::Struct

# Returns the value of attribute line
#
# @return [Object] the current value of line
def line; end

# Sets the attribute line
#
# @param value [Object] the value to set the attribute line to.
# @return [Object] the newly set value
def line=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# source://rubocop//lib/rubocop/comment_config.rb#18 class RuboCop::CommentConfig::ConfigDisabledCopDirectiveComment::Loc < ::Struct

# Returns the value of attribute expression
#
# @return [Object] the current value of expression
def expression; end

# Sets the attribute expression
#
# @param value [Object] the value to set the attribute expression to.
# @return [Object] the newly set value
def expression=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# source://rubocop//lib/rubocop/comment_config.rb#28 class RuboCop::CommentConfig::CopAnalysis < ::Struct

# Returns the value of attribute line_ranges
#
# @return [Object] the current value of line_ranges
def line_ranges; end

# Sets the attribute line_ranges
#
# @param value [Object] the value to set the attribute line_ranges to.
# @return [Object] the newly set value
def line_ranges=(_); end

# Returns the value of attribute start_line_number
#
# @return [Object] the current value of start_line_number
def start_line_number; end

# Sets the attribute start_line_number
#
# @param value [Object] the value to set the attribute start_line_number to.
# @return [Object] the newly set value
def start_line_number=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# This class represents the configuration of the RuboCop application # and all its cops. A Config is associated with a YAML configuration # file from which it was read. Several different Configs can be used # during a run of the rubocop program, if files in several # directories are inspected. # # source://rubocop//lib/rubocop/config.rb#12 class RuboCop::Config

include ::RuboCop::PathUtil
include ::RuboCop::FileFinder
extend ::Forwardable

# @return [Config] a new instance of Config
#
# source://rubocop//lib/rubocop/config.rb#30
def initialize(hash = T.unsafe(nil), loaded_path = T.unsafe(nil)); end

# source://forwardable/1.3.3/forwardable.rb#231
def [](*args, **_arg1, &block); end

# source://forwardable/1.3.3/forwardable.rb#231
def []=(*args, **_arg1, &block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/config.rb#170
def active_support_extensions_enabled?; end

# source://rubocop//lib/rubocop/config.rb#96
def add_excludes_from_higher_level(highest_config); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/config.rb#193
def allowed_camel_case_file?(file); end

# Paths specified in configuration files starting with .rubocop are
# relative to the directory where that file is. Paths in other config files
# are relative to the current directory. This is so that paths in
# config/default.yml, for example, are not relative to RuboCop's config
# directory since that wouldn't work.
#
# source://rubocop//lib/rubocop/config.rb#237
def base_dir_for_path_parameters; end

# @return [String, nil]
#
# source://rubocop//lib/rubocop/config.rb#267
def bundler_lock_file_path; end

# source://rubocop//lib/rubocop/config.rb#51
def check; end

# @api private
# @return [Boolean] whether config for this badge has 'Include' or 'Exclude' keys
#
# source://rubocop//lib/rubocop/config.rb#142
def clusivity_config_for_badge?(badge); end

# source://forwardable/1.3.3/forwardable.rb#231
def delete(*args, **_arg1, &block); end

# source://rubocop//lib/rubocop/config.rb#108
def deprecation_check; end

# source://forwardable/1.3.3/forwardable.rb#231
def dig(*args, **_arg1, &block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/config.rb#162
def disabled_new_cops?; end

# source://forwardable/1.3.3/forwardable.rb#231
def each(*args, **_arg1, &block); end

# source://forwardable/1.3.3/forwardable.rb#231
def each_key(*args, **_arg1, &block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/config.rb#166
def enabled_new_cops?; end

# source://forwardable/1.3.3/forwardable.rb#231
def fetch(*args, **_arg1, &block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/config.rb#215
def file_to_exclude?(file); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/config.rb#174
def file_to_include?(file); end

# source://rubocop//lib/rubocop/config.rb#158
def for_all_cops; end

# Note: the 'Enabled' attribute is same as that returned by `for_cop`
#
# @return [Config] for the given cop merged with that of its department (if any)
#
# source://rubocop//lib/rubocop/config.rb#128
def for_badge(badge); end

# Note: the 'Enabled' attribute is calculated according to the department's
# and 'AllCops' configuration; other attributes are not inherited.
#
# @return [Config] for the given cop / cop name.
#
# source://rubocop//lib/rubocop/config.rb#122
def for_cop(cop); end

# Note: the 'Enabled' attribute will be present only if specified
# at the department's level
#
# @return [Config] for the given department name.
#
# source://rubocop//lib/rubocop/config.rb#153
def for_department(department_name); end

# Returns target's locked gem versions (i.e. from Gemfile.lock or gems.locked)
#
# source://rubocop//lib/rubocop/config.rb#292
def gem_versions_in_target; end

# source://rubocop//lib/rubocop/config.rb#296
def inspect; end

# True if this is a config file that is shipped with RuboCop
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config.rb#76
def internal?; end

# source://forwardable/1.3.3/forwardable.rb#231
def key?(*args, **_arg1, &block); end

# source://forwardable/1.3.3/forwardable.rb#231
def keys(*args, **_arg1, &block); end

# source://rubocop//lib/rubocop/config.rb#47
def loaded_features; end

# Returns the value of attribute loaded_path.
#
# source://rubocop//lib/rubocop/config.rb#20
def loaded_path; end

# source://rubocop//lib/rubocop/config.rb#81
def make_excludes_absolute; end

# source://forwardable/1.3.3/forwardable.rb#231
def map(*args, **_arg1, &block); end

# source://forwardable/1.3.3/forwardable.rb#231
def merge(*args, **_arg1, &block); end

# source://rubocop//lib/rubocop/config.rb#247
def parser_engine; end

# source://rubocop//lib/rubocop/config.rb#228
def path_relative_to_config(path); end

# source://rubocop//lib/rubocop/config.rb#224
def patterns_to_exclude; end

# source://rubocop//lib/rubocop/config.rb#220
def patterns_to_include; end

# source://rubocop//lib/rubocop/config.rb#278
def pending_cops; end

# Returns true if there's a chance that an Include pattern matches hidden
# files, false if that's definitely not possible.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config.rb#207
def possibly_include_hidden?; end

# source://forwardable/1.3.3/forwardable.rb#231
def replace(*args, **_arg1, &block); end

# source://rubocop//lib/rubocop/config.rb#71
def signature; end

# source://rubocop//lib/rubocop/config.rb#262
def smart_loaded_path; end

# source://rubocop//lib/rubocop/config.rb#251
def target_rails_version; end

# source://forwardable/1.3.3/forwardable.rb#231
def target_ruby_version(*args, **_arg1, &block); end

# source://forwardable/1.3.3/forwardable.rb#231
def to_h(*args, **_arg1, &block); end

# source://forwardable/1.3.3/forwardable.rb#231
def to_hash(*args, **_arg1, &block); end

# source://rubocop//lib/rubocop/config.rb#67
def to_s; end

# source://forwardable/1.3.3/forwardable.rb#231
def transform_values(*args, **_arg1, &block); end

# source://forwardable/1.3.3/forwardable.rb#231
def validate(*args, **_arg1, &block); end

# source://rubocop//lib/rubocop/config.rb#58
def validate_after_resolution; end

private

# source://rubocop//lib/rubocop/config.rb#347
def department_of(qualified_cop_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/config.rb#335
def enable_cop?(qualified_cop_name, cop_options); end

# @param gem_version [Gem::Version] an object like `Gem::Version.new("7.1.2.3")`
# @return [Float] The major and minor version, like `7.1`
#
# source://rubocop//lib/rubocop/config.rb#321
def gem_version_to_major_minor_float(gem_version); end

# source://rubocop//lib/rubocop/config.rb#328
def read_gem_versions_from_target_lockfile; end

# @return [Float, nil] The Rails version as a `major.minor` Float.
#
# source://rubocop//lib/rubocop/config.rb#308
def read_rails_version_from_bundler_lock_file; end

# @return [Float, nil] The Rails version as a `major.minor` Float.
#
# source://rubocop//lib/rubocop/config.rb#303
def target_rails_version_from_bundler_lock_file; end

class << self
  # source://rubocop//lib/rubocop/config.rb#22
  def create(hash, path, check: T.unsafe(nil)); end
end

end

# source://rubocop//lib/rubocop/config.rb#17 class RuboCop::Config::CopConfig < ::Struct

# Returns the value of attribute metadata
#
# @return [Object] the current value of metadata
def metadata; end

# Sets the attribute metadata
#
# @param value [Object] the value to set the attribute metadata to.
# @return [Object] the newly set value
def metadata=(_); end

# Returns the value of attribute name
#
# @return [Object] the current value of name
def name; end

# Sets the attribute name
#
# @param value [Object] the value to set the attribute name to.
# @return [Object] the newly set value
def name=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# source://rubocop//lib/rubocop/config.rb#19 RuboCop::Config::DEFAULT_RAILS_VERSION = T.let(T.unsafe(nil), Float)

# This class has methods related to finding configuration path. # # @api private # # source://rubocop//lib/rubocop/config_finder.rb#8 class RuboCop::ConfigFinder

extend ::RuboCop::FileFinder

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/config_finder.rb#19
  def find_config_path(target_dir); end

  # Returns the path RuboCop inferred as the root of the project. No file
  # searches will go past this directory.
  #
  # @api private
  #
  # source://rubocop//lib/rubocop/config_finder.rb#26
  def project_root; end

  # @api private
  #
  # source://rubocop//lib/rubocop/config_finder.rb#17
  def project_root=(_arg0); end

  private

  # @api private
  #
  # source://rubocop//lib/rubocop/config_finder.rb#69
  def expand_path(path); end

  # @api private
  #
  # source://rubocop//lib/rubocop/config_finder.rb#40
  def find_project_dotfile(target_dir); end

  # @api private
  #
  # source://rubocop//lib/rubocop/config_finder.rb#32
  def find_project_root; end

  # @api private
  #
  # source://rubocop//lib/rubocop/config_finder.rb#44
  def find_project_root_dot_config; end

  # @api private
  #
  # source://rubocop//lib/rubocop/config_finder.rb#54
  def find_user_dotfile; end

  # @api private
  #
  # source://rubocop//lib/rubocop/config_finder.rb#62
  def find_user_xdg_config; end
end

end

# @api private # # source://rubocop//lib/rubocop/config_finder.rb#12 RuboCop::ConfigFinder::DEFAULT_FILE = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/config_finder.rb#9 RuboCop::ConfigFinder::DOTFILE = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/config_finder.rb#11 RuboCop::ConfigFinder::RUBOCOP_HOME = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/config_finder.rb#10 RuboCop::ConfigFinder::XDG_CONFIG = T.let(T.unsafe(nil), String)

# This class represents the configuration of the RuboCop application # and all its cops. A Config is associated with a YAML configuration # file from which it was read. Several different Configs can be used # during a run of the rubocop program, if files in several # directories are inspected. # # source://rubocop//lib/rubocop/config_loader.rb#17 class RuboCop::ConfigLoader

extend ::RuboCop::FileFinder

class << self
  # source://rubocop//lib/rubocop/config_loader.rb#137
  def add_excludes_from_files(config, config_file); end

  # Used to add features that were required inside a config or from
  # the CLI using `--require`.
  #
  # @api private
  #
  # source://rubocop//lib/rubocop/config_loader.rb#198
  def add_loaded_features(loaded_features); end

  # source://rubocop//lib/rubocop/config_loader.rb#80
  def add_missing_namespaces(path, hash); end

  # source://rubocop//lib/rubocop/config_loader.rb#41
  def clear_options; end

  # Returns the path of .rubocop.yml searching upwards in the
  # directory structure starting at the given directory where the
  # inspected file is. If no .rubocop.yml is found there, the
  # user's home directory is checked. If there's no .rubocop.yml
  # there either, the path to the default file is returned.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#104
  def configuration_file_for(target_dir); end

  # source://rubocop//lib/rubocop/config_loader.rb#108
  def configuration_from_file(config_file, check: T.unsafe(nil)); end

  # Returns the value of attribute debug.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def debug; end

  # Sets the attribute debug
  #
  # @param value the value to set the attribute debug to.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def debug=(_arg0); end

  # Returns the value of attribute debug.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def debug?; end

  # source://rubocop//lib/rubocop/config_loader.rb#147
  def default_configuration; end

  # Sets the attribute default_configuration
  #
  # @param value the value to set the attribute default_configuration to.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#35
  def default_configuration=(_arg0); end

  # Returns the value of attribute disable_pending_cops.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def disable_pending_cops; end

  # Sets the attribute disable_pending_cops
  #
  # @param value the value to set the attribute disable_pending_cops to.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def disable_pending_cops=(_arg0); end

  # Returns the value of attribute enable_pending_cops.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def enable_pending_cops; end

  # Sets the attribute enable_pending_cops
  #
  # @param value the value to set the attribute enable_pending_cops to.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def enable_pending_cops=(_arg0); end

  # Returns the value of attribute ignore_parent_exclusion.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def ignore_parent_exclusion; end

  # Sets the attribute ignore_parent_exclusion
  #
  # @param value the value to set the attribute ignore_parent_exclusion to.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def ignore_parent_exclusion=(_arg0); end

  # Returns the value of attribute ignore_parent_exclusion.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def ignore_parent_exclusion?; end

  # Returns the value of attribute ignore_unrecognized_cops.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def ignore_unrecognized_cops; end

  # Sets the attribute ignore_unrecognized_cops
  #
  # @param value the value to set the attribute ignore_unrecognized_cops to.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#33
  def ignore_unrecognized_cops=(_arg0); end

  # @api private
  #
  # source://rubocop//lib/rubocop/config_loader.rb#155
  def inject_defaults!(project_root); end

  # source://rubocop//lib/rubocop/config_loader.rb#47
  def load_file(file, check: T.unsafe(nil)); end

  # @raise [TypeError]
  #
  # source://rubocop//lib/rubocop/config_loader.rb#67
  def load_yaml_configuration(absolute_path); end

  # Returns the value of attribute loaded_features.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#36
  def loaded_features; end

  # Return a recursive merge of two hashes. That is, a normal hash merge,
  # with the addition that any value that is a hash, and occurs in both
  # arguments, will also be merged. And so on.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#95
  def merge(base_hash, derived_hash); end

  # Merges the given configuration with the default one.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#191
  def merge_with_default(config, config_file, unset_nil: T.unsafe(nil)); end

  # source://rubocop//lib/rubocop/config_loader.rb#128
  def pending_cops_only_qualified(pending_cops); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/config_loader.rb#132
  def possible_new_cops?(config); end

  # Returns the path RuboCop inferred as the root of the project. No file
  # searches will go past this directory.
  #
  # @deprecated Use `RuboCop::ConfigFinder.project_root` instead.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#166
  def project_root; end

  # source://rubocop//lib/rubocop/config_loader.rb#175
  def warn_on_pending_cops(pending_cops); end

  # source://rubocop//lib/rubocop/config_loader.rb#183
  def warn_pending_cop(cop); end

  private

  # source://rubocop//lib/rubocop/config_loader.rb#212
  def check_duplication(yaml_code, absolute_path); end

  # source://rubocop//lib/rubocop/config_loader.rb#204
  def file_path(file); end

  # Read the specified file, or exit with a friendly, concise message on
  # stderr. Care is taken to use the standard OS exit code for a "file not
  # found" error.
  #
  # source://rubocop//lib/rubocop/config_loader.rb#232
  def read_file(absolute_path); end

  # source://rubocop//lib/rubocop/config_loader.rb#208
  def resolver; end

  # source://rubocop//lib/rubocop/config_loader.rb#238
  def yaml_safe_load(yaml_code, filename); end

  # source://rubocop//lib/rubocop/config_loader.rb#248
  def yaml_safe_load!(yaml_code, filename); end
end

end

# source://rubocop//lib/rubocop/config_loader.rb#20 RuboCop::ConfigLoader::DEFAULT_FILE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/config_loader.rb#18 RuboCop::ConfigLoader::DOTFILE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/config_loader.rb#19 RuboCop::ConfigLoader::RUBOCOP_HOME = T.let(T.unsafe(nil), String)

# A help class for ConfigLoader that handles configuration resolution. # # @api private # # source://rubocop//lib/rubocop/config_loader_resolver.rb#9 class RuboCop::ConfigLoaderResolver

# When one .rubocop.yml file inherits from another .rubocop.yml file, the Include paths in the
# base configuration are relative to the directory where the base configuration file is. For the
# derived configuration, we need to make those paths relative to where the derived configuration
# file is.
#
# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#45
def fix_include_paths(base_config_path, hash, path, key, value); end

# Return a recursive merge of two hashes. That is, a normal hash merge,
# with the addition that any value that is a hash, and occurs in both
# arguments, will also be merged. And so on.
#
#
# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#99
def merge(base_hash, derived_hash, **opts); end

# Merges the given configuration with the default one. If
# AllCops:DisabledByDefault is true, it changes the Enabled params so that
# only cops from user configuration are enabled. If
# AllCops:EnabledByDefault is true, it changes the Enabled params so that
# only cops explicitly disabled in user configuration are disabled.
#
# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#75
def merge_with_default(config, config_file, unset_nil:); end

# An `Enabled: true` setting in user configuration for a cop overrides an
# `Enabled: false` setting for its department.
#
# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#119
def override_department_setting_for_cops(base_hash, derived_hash); end

# If a cop was previously explicitly enabled, but then superseded by the
# department being disabled, disable it.
#
# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#136
def override_enabled_for_disabled_departments(base_hash, derived_hash); end

# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#19
def resolve_inheritance(path, hash, file, debug); end

# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#55
def resolve_inheritance_from_gems(hash); end

# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#10
def resolve_requires(path, hash); end

private

# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#208
def base_configs(path, inherit_from, file); end

# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#176
def determine_inherit_mode(hash, key); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#152
def disabled?(hash, department); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#156
def duplicate_setting?(base_hash, derived_hash, key, inherited_file); end

# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#268
def gem_config_path(gem_name, relative_config_path); end

# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#246
def handle_disabled_by_default(config, new_default_configuration); end

# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#220
def inherited_file(path, inherit_from, file); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#204
def merge_hashes?(base_hash, derived_hash, key); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#241
def remote_file?(uri); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#196
def should_merge?(mode, key); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#200
def should_override?(mode, key); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#182
def should_union?(derived_hash, base_hash, root_mode, key); end

# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#264
def transform(config, &block); end

# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#165
def warn_on_duplicate_setting(base_hash, derived_hash, key, **opts); end

end

# Raised when a RuboCop configuration file is not found. # # source://rubocop//lib/rubocop/config_loader.rb#9 class RuboCop::ConfigNotFoundError < ::RuboCop::Error; end

# This class handles obsolete configuration. # # @api private # # source://rubocop//lib/rubocop/config_obsoletion/rule.rb#4 class RuboCop::ConfigObsoletion

# @api private
# @return [ConfigObsoletion] a new instance of ConfigObsoletion
#
# source://rubocop//lib/rubocop/config_obsoletion.rb#35
def initialize(config); end

# @api private
# @raise [ValidationError]
#
# source://rubocop//lib/rubocop/config_obsoletion.rb#41
def reject_obsolete!; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion.rb#21
def rules; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion.rb#21
def warnings; end

private

# Cop rules are keyed by the name of the original cop
#
# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion.rb#72
def load_cop_rules(rules); end

# Parameter rules may apply to multiple cops and multiple parameters
# and are given as an array. Each combination is turned into a separate
# rule object.
#
# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion.rb#85
def load_parameter_rules(rules); end

# Default rules for obsoletions are in config/obsoletion.yml
# Additional rules files can be added with `RuboCop::ConfigObsoletion.files << filename`
#
# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion.rb#52
def load_rules; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion.rb#98
def obsoletions; end

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/config_obsoletion.rb#24
  def files; end

  # @api private
  #
  # source://rubocop//lib/rubocop/config_obsoletion.rb#24
  def files=(_arg0); end

  # @api private
  #
  # source://rubocop//lib/rubocop/config_obsoletion.rb#26
  def legacy_cop_names; end
end

end

# @api private # # source://rubocop//lib/rubocop/config_obsoletion.rb#8 RuboCop::ConfigObsoletion::COP_RULE_CLASSES = T.let(T.unsafe(nil), Hash)

# Encapsulation of a ConfigObsoletion rule for changing a parameter # # @api private # # source://rubocop//lib/rubocop/config_obsoletion/changed_enforced_styles.rb#7 class RuboCop::ConfigObsoletion::ChangedEnforcedStyles < ::RuboCop::ConfigObsoletion::ParameterRule

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/changed_enforced_styles.rb#14
def message; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/changed_enforced_styles.rb#10
def violated?; end

private

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/changed_enforced_styles.rb#28
def value; end

end

# @api private # # source://rubocop//lib/rubocop/config_obsoletion/changed_enforced_styles.rb#8 RuboCop::ConfigObsoletion::ChangedEnforcedStyles::BASE_MESSAGE = T.let(T.unsafe(nil), String)

# Encapsulation of a ConfigObsoletion rule for changing a parameter # # @api private # # source://rubocop//lib/rubocop/config_obsoletion/changed_parameter.rb#7 class RuboCop::ConfigObsoletion::ChangedParameter < ::RuboCop::ConfigObsoletion::ParameterRule

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/changed_parameter.rb#10
def message; end

end

# @api private # # source://rubocop//lib/rubocop/config_obsoletion/changed_parameter.rb#8 RuboCop::ConfigObsoletion::ChangedParameter::BASE_MESSAGE = T.let(T.unsafe(nil), String)

# Base class for ConfigObsoletion rules relating to cops # # @api private # # source://rubocop//lib/rubocop/config_obsoletion/cop_rule.rb#7 class RuboCop::ConfigObsoletion::CopRule < ::RuboCop::ConfigObsoletion::Rule

# @api private
# @return [CopRule] a new instance of CopRule
#
# source://rubocop//lib/rubocop/config_obsoletion/cop_rule.rb#10
def initialize(config, old_name); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/cop_rule.rb#15
def cop_rule?; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/cop_rule.rb#19
def message; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/cop_rule.rb#8
def old_name; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/cop_rule.rb#28
def violated?; end

# Cop rules currently can only be failures, not warnings
#
# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/cop_rule.rb#24
def warning?; end

end

# @api private # # source://rubocop//lib/rubocop/config_obsoletion.rb#7 RuboCop::ConfigObsoletion::DEFAULT_RULES_FILE = T.let(T.unsafe(nil), String)

# Encapsulation of a ConfigObsoletion rule for splitting a cop’s # functionality into multiple new cops. # # @api private # # source://rubocop//lib/rubocop/config_obsoletion/extracted_cop.rb#8 class RuboCop::ConfigObsoletion::ExtractedCop < ::RuboCop::ConfigObsoletion::CopRule

# @api private
# @return [ExtractedCop] a new instance of ExtractedCop
#
# source://rubocop//lib/rubocop/config_obsoletion/extracted_cop.rb#11
def initialize(config, old_name, gem); end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/extracted_cop.rb#9
def department; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/extracted_cop.rb#9
def gem; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/extracted_cop.rb#23
def rule_message; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/extracted_cop.rb#17
def violated?; end

private

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/extracted_cop.rb#32
def affected_cops; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/extracted_cop.rb#41
def feature_loaded?; end

end

# @api private # # source://rubocop//lib/rubocop/config_obsoletion.rb#18 RuboCop::ConfigObsoletion::LOAD_RULES_CACHE = T.let(T.unsafe(nil), Hash)

# @api private # # source://rubocop//lib/rubocop/config_obsoletion.rb#14 RuboCop::ConfigObsoletion::PARAMETER_RULE_CLASSES = T.let(T.unsafe(nil), Hash)

# Base class for ConfigObsoletion rules relating to parameters # # @api private # # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#7 class RuboCop::ConfigObsoletion::ParameterRule < ::RuboCop::ConfigObsoletion::Rule

# @api private
# @return [ParameterRule] a new instance of ParameterRule
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#10
def initialize(config, cop, parameter, metadata); end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#8
def cop; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#8
def metadata; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#8
def parameter; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#17
def parameter_rule?; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#21
def violated?; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#25
def warning?; end

private

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#39
def alternative; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#43
def alternatives; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#31
def applies_to_current_ruby_version?; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#47
def reason; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#51
def severity; end

end

# Encapsulation of a ConfigObsoletion rule for removing # a previously defined cop. # # @api private # # source://rubocop//lib/rubocop/config_obsoletion/removed_cop.rb#8 class RuboCop::ConfigObsoletion::RemovedCop < ::RuboCop::ConfigObsoletion::CopRule

# @api private
# @return [RemovedCop] a new instance of RemovedCop
#
# source://rubocop//lib/rubocop/config_obsoletion/removed_cop.rb#13
def initialize(config, old_name, metadata); end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/removed_cop.rb#9
def metadata; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/removed_cop.rb#9
def old_name; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/removed_cop.rb#18
def rule_message; end

private

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/removed_cop.rb#36
def alternatives; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/removed_cop.rb#32
def reason; end

end

# @api private # # source://rubocop//lib/rubocop/config_obsoletion/removed_cop.rb#11 RuboCop::ConfigObsoletion::RemovedCop::BASE_MESSAGE = T.let(T.unsafe(nil), String)

# Encapsulation of a ConfigObsoletion rule for renaming # a cop or moving it to a new department. # # @api private # # source://rubocop//lib/rubocop/config_obsoletion/renamed_cop.rb#8 class RuboCop::ConfigObsoletion::RenamedCop < ::RuboCop::ConfigObsoletion::CopRule

# @api private
# @return [RenamedCop] a new instance of RenamedCop
#
# source://rubocop//lib/rubocop/config_obsoletion/renamed_cop.rb#11
def initialize(config, old_name, new_name); end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/renamed_cop.rb#9
def new_name; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/renamed_cop.rb#16
def rule_message; end

private

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/renamed_cop.rb#22
def moved?; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/renamed_cop.rb#29
def verb; end

end

# Abstract base class for ConfigObsoletion rules # # @api private # # source://rubocop//lib/rubocop/config_obsoletion/rule.rb#7 class RuboCop::ConfigObsoletion::Rule

# @api private
# @return [Rule] a new instance of Rule
#
# source://rubocop//lib/rubocop/config_obsoletion/rule.rb#8
def initialize(config); end

# Does this rule relate to cops?
#
# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/rule.rb#13
def cop_rule?; end

# Does this rule relate to parameters?
#
# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/rule.rb#18
def parameter_rule?; end

# @api private
# @raise [NotImplementedError]
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_obsoletion/rule.rb#22
def violated?; end

private

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/rule.rb#28
def config; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/rule.rb#36
def smart_loaded_path; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/rule.rb#30
def to_sentence(collection, connector: T.unsafe(nil)); end

end

# Encapsulation of a ConfigObsoletion rule for splitting a cop’s # functionality into multiple new cops. # # @api private # # source://rubocop//lib/rubocop/config_obsoletion/split_cop.rb#8 class RuboCop::ConfigObsoletion::SplitCop < ::RuboCop::ConfigObsoletion::CopRule

# @api private
# @return [SplitCop] a new instance of SplitCop
#
# source://rubocop//lib/rubocop/config_obsoletion/split_cop.rb#11
def initialize(config, old_name, metadata); end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/split_cop.rb#9
def metadata; end

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/split_cop.rb#16
def rule_message; end

private

# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion/split_cop.rb#22
def alternatives; end

end

# This class handles collecting the options for regenerating a TODO file. # # @api private # # source://rubocop//lib/rubocop/config_regeneration.rb#6 class RuboCop::ConfigRegeneration

# Get options from the comment in the TODO file, and parse them as options
#
# @api private
#
# source://rubocop//lib/rubocop/config_regeneration.rb#12
def options; end

private

# @api private
#
# source://rubocop//lib/rubocop/config_regeneration.rb#29
def generation_command; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/config_regeneration.rb#25
def todo_exists?; end

end

# @api private # # source://rubocop//lib/rubocop/config_regeneration.rb#7 RuboCop::ConfigRegeneration::AUTO_GENERATED_FILE = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/config_regeneration.rb#8 RuboCop::ConfigRegeneration::COMMAND_REGEX = T.let(T.unsafe(nil), Regexp)

# @api private # # source://rubocop//lib/rubocop/config_regeneration.rb#9 RuboCop::ConfigRegeneration::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)

# Handles caching of configurations and association of inspected # ruby files to configurations. # # source://rubocop//lib/rubocop/config_store.rb#6 class RuboCop::ConfigStore

# @return [ConfigStore] a new instance of ConfigStore
#
# source://rubocop//lib/rubocop/config_store.rb#10
def initialize; end

# If type (file/dir) is known beforehand,
# prefer using #for_file or #for_dir for improved performance
#
# source://rubocop//lib/rubocop/config_store.rb#52
def for(file_or_dir); end

# source://rubocop//lib/rubocop/config_store.rb#61
def for_dir(dir); end

# source://rubocop//lib/rubocop/config_store.rb#42
def for_file(file); end

# source://rubocop//lib/rubocop/config_store.rb#46
def for_pwd; end

# source://rubocop//lib/rubocop/config_store.rb#33
def force_default_config!; end

# source://rubocop//lib/rubocop/config_store.rb#28
def options_config=(options_config); end

# source://rubocop//lib/rubocop/config_store.rb#37
def unvalidated; end

# Returns the value of attribute validated.
#
# source://rubocop//lib/rubocop/config_store.rb#7
def validated; end

# Returns the value of attribute validated.
#
# source://rubocop//lib/rubocop/config_store.rb#7
def validated?; end

end

# Handles validation of configuration, for example cop names, parameter # names, and Ruby versions. # # source://rubocop//lib/rubocop/config_validator.rb#6 class RuboCop::ConfigValidator

extend ::Forwardable

# @return [ConfigValidator] a new instance of ConfigValidator
#
# source://rubocop//lib/rubocop/config_validator.rb#26
def initialize(config); end

# source://forwardable/1.3.3/forwardable.rb#231
def for_all_cops(*args, **_arg1, &block); end

# source://forwardable/1.3.3/forwardable.rb#231
def smart_loaded_path(*args, **_arg1, &block); end

# source://rubocop//lib/rubocop/config_validator.rb#62
def target_ruby_version; end

# source://rubocop//lib/rubocop/config_validator.rb#32
def validate; end

# Validations that should only be run after all config resolving has
# taken place:
# * The target ruby version is only checked once the entire inheritance
# chain has been loaded so that only the final value is validated, and
# any obsolete but overridden values are ignored.
#
# source://rubocop//lib/rubocop/config_validator.rb#58
def validate_after_resolution; end

# @raise [ValidationError]
#
# source://rubocop//lib/rubocop/config_validator.rb#66
def validate_section_presence(name); end

private

# @raise [ValidationError]
#
# source://rubocop//lib/rubocop/config_validator.rb#103
def alert_about_unrecognized_cops(invalid_cop_names); end

# source://rubocop//lib/rubocop/config_validator.rb#253
def check_cop_config_value(hash, parent = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/config_validator.rb#76
def check_obsoletions; end

# @raise [ValidationError]
#
# source://rubocop//lib/rubocop/config_validator.rb#83
def check_target_ruby; end

# source://rubocop//lib/rubocop/config_validator.rb#194
def each_invalid_parameter(cop_name); end

# source://rubocop//lib/rubocop/config_validator.rb#119
def list_unknown_cops(invalid_cop_names); end

# FIXME: Handling colors in exception messages like this is ugly.
#
# source://rubocop//lib/rubocop/config_validator.rb#273
def param_error_message(parent, key, value, supposed_values); end

# source://rubocop//lib/rubocop/config_validator.rb#241
def reject_conflicting_safe_settings; end

# @raise [ValidationError]
#
# source://rubocop//lib/rubocop/config_validator.rb#232
def reject_mutually_exclusive_defaults; end

# source://rubocop//lib/rubocop/config_validator.rb#141
def suggestion(name); end

# Returns the value of attribute target_ruby.
#
# source://rubocop//lib/rubocop/config_validator.rb#74
def target_ruby; end

# source://rubocop//lib/rubocop/config_validator.rb#206
def validate_enforced_styles(valid_cop_names); end

# @raise [ValidationError]
#
# source://rubocop//lib/rubocop/config_validator.rb#168
def validate_new_cops_parameter; end

# source://rubocop//lib/rubocop/config_validator.rb#179
def validate_parameter_names(valid_cop_names); end

# source://rubocop//lib/rubocop/config_validator.rb#226
def validate_support_and_has_list(name, formats, valid); end

# @raise [ValidationError]
#
# source://rubocop//lib/rubocop/config_validator.rb#157
def validate_syntax_cop; end

end

# @api private # # source://rubocop//lib/rubocop/config_validator.rb#10 RuboCop::ConfigValidator::COMMON_PARAMS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/config_validator.rb#21 RuboCop::ConfigValidator::CONFIG_CHECK_AUTOCORRECTS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/config_validator.rb#20 RuboCop::ConfigValidator::CONFIG_CHECK_DEPARTMENTS = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/config_validator.rb#19 RuboCop::ConfigValidator::CONFIG_CHECK_KEYS = T.let(T.unsafe(nil), Set)

# @api private # # source://rubocop//lib/rubocop/config_validator.rb#12 RuboCop::ConfigValidator::INTERNAL_PARAMS = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/config_validator.rb#16 RuboCop::ConfigValidator::NEW_COPS_VALUES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/util.rb#4 module RuboCop::Cop; end

# This module checks for nodes that should be aligned to the left or right. # This amount is determined by the instance variable @column_delta. # # source://rubocop//lib/rubocop/cop/mixin/alignment.rb#7 module RuboCop::Cop::Alignment

private

# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#26
def check_alignment(items, base_column = T.unsafe(nil)); end

# Returns the value of attribute column_delta.
#
# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#12
def column_delta; end

# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#14
def configured_indentation_width; end

# @api public
#
# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#58
def display_column(range); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#45
def each_bad_alignment(items, base_column); end

# @deprecated Use processed_source.comment_at_line(line)
#
# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#69
def end_of_line_comment(line); end

# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#18
def indentation(node); end

# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#22
def offset(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#74
def register_offense(offense_node, message_node); end

# @api public
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#64
def within?(inner, outer); end

end

# source://rubocop//lib/rubocop/cop/mixin/alignment.rb#10 RuboCop::Cop::Alignment::SPACE = T.let(T.unsafe(nil), String)

# This class does autocorrection of nodes that should just be moved to # the left or to the right, amount being determined by the instance # variable column_delta. # # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#8 class RuboCop::Cop::AlignmentCorrector

extend ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::Alignment

class << self
  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#29
  def align_end(corrector, processed_source, node, align_to); end

  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#15
  def correct(corrector, processed_source, node, column_delta); end

  # Returns the value of attribute processed_source.
  #
  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#13
  def processed_source; end

  private

  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#124
  def alignment_column(align_to); end

  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#40
  def autocorrect_line(corrector, line_begin_pos, expr, column_delta, taboo_ranges); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#81
  def block_comment_within?(expr); end

  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#87
  def calculate_range(expr, line_begin_pos, column_delta); end

  # Some special kinds of string literals are not composed of literal
  # characters between two delimiters:
  # - The source map of `?a` responds to :begin and :end but its end is
  #   nil.
  # - The source map of `__FILE__` responds to neither :begin nor :end.
  #
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#75
  def delimited_string_literal?(node); end

  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#110
  def each_line(expr); end

  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#60
  def inside_string_range(node); end

  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#54
  def inside_string_ranges(node); end

  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#99
  def remove(range, corrector); end

  # source://rubocop//lib/rubocop/cop/correctors/alignment_corrector.rb#118
  def whitespace_range(node); end
end

end

# This module encapsulates the ability to allow certain identifiers in a cop. # # source://rubocop//lib/rubocop/cop/mixin/allowed_identifiers.rb#6 module RuboCop::Cop::AllowedIdentifiers

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/allowed_identifiers.rb#9
def allowed_identifier?(name); end

# source://rubocop//lib/rubocop/cop/mixin/allowed_identifiers.rb#13
def allowed_identifiers; end

end

# if a variable starts with a sigil it will be removed # # source://rubocop//lib/rubocop/cop/mixin/allowed_identifiers.rb#7 RuboCop::Cop::AllowedIdentifiers::SIGILS = T.let(T.unsafe(nil), String)

# This module encapsulates the ability to allow certain methods when # parsing. Even if the code is in offense, if it contains methods # that are allowed. This module is equivalent to the IgnoredMethods module, # which will be deprecated in RuboCop 2.0. # # source://rubocop//lib/rubocop/cop/mixin/allowed_methods.rb#9 module RuboCop::Cop::AllowedMethods

private

# @api public
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/allowed_methods.rb#13
def allowed_method?(name); end

# @api public
#
# source://rubocop//lib/rubocop/cop/mixin/allowed_methods.rb#21
def allowed_methods; end

# source://rubocop//lib/rubocop/cop/mixin/allowed_methods.rb#29
def cop_config_allowed_methods; end

# source://rubocop//lib/rubocop/cop/mixin/allowed_methods.rb#33
def cop_config_deprecated_values; end

# @api public
# @deprecated Use allowed_method? instead
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/allowed_methods.rb#13
def ignored_method?(name); end

end

# This module encapsulates the ability to ignore certain lines when # parsing. # # source://rubocop//lib/rubocop/cop/mixin/allowed_pattern.rb#7 module RuboCop::Cop::AllowedPattern

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/allowed_pattern.rb#10
def allowed_line?(line); end

# source://rubocop//lib/rubocop/cop/mixin/allowed_pattern.rb#30
def allowed_patterns; end

# source://rubocop//lib/rubocop/cop/mixin/allowed_pattern.rb#46
def cop_config_deprecated_methods_values; end

# source://rubocop//lib/rubocop/cop/mixin/allowed_pattern.rb#40
def cop_config_patterns_values; end

# @deprecated Use allowed_line? instead
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/allowed_pattern.rb#10
def ignored_line?(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/allowed_pattern.rb#23
def matches_allowed_pattern?(line); end

# @deprecated Use matches_allowed_pattern?? instead
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/allowed_pattern.rb#23
def matches_ignored_pattern?(line); end

end

# This module encapsulates the ability to allow certain receivers in a cop. # # source://rubocop//lib/rubocop/cop/mixin/allowed_receivers.rb#6 module RuboCop::Cop::AllowedReceivers

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/allowed_receivers.rb#7
def allowed_receiver?(receiver); end

# source://rubocop//lib/rubocop/cop/mixin/allowed_receivers.rb#29
def allowed_receivers; end

# source://rubocop//lib/rubocop/cop/mixin/allowed_receivers.rb#13
def receiver_name(receiver); end

end

# Error raised when an unqualified cop name is used that could # refer to two or more cops under different departments # # source://rubocop//lib/rubocop/cop/registry.rb#7 class RuboCop::Cop::AmbiguousCopName < ::RuboCop::Error

# @return [AmbiguousCopName] a new instance of AmbiguousCopName
#
# source://rubocop//lib/rubocop/cop/registry.rb#11
def initialize(name, origin, badges); end

end

# source://rubocop//lib/rubocop/cop/registry.rb#8 RuboCop::Cop::AmbiguousCopName::MSG = T.let(T.unsafe(nil), String)

# Representation of an annotation comment in source code (eg. ‘# TODO: blah blah blah`). # # source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#6 class RuboCop::Cop::AnnotationComment

extend ::Forwardable

# @param comment [Parser::Source::Comment]
# @param keywords [Array<String>]
# @return [AnnotationComment] a new instance of AnnotationComment
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#13
def initialize(comment, keywords); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#19
def annotation?; end

# Returns the range bounds for just the annotation
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#31
def bounds; end

# Returns the value of attribute colon.
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#9
def colon; end

# Returns the value of attribute comment.
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#9
def comment; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#23
def correct?(colon:); end

# Returns the value of attribute keyword.
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#9
def keyword; end

# Returns the value of attribute margin.
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#9
def margin; end

# Returns the value of attribute note.
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#9
def note; end

# Returns the value of attribute space.
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#9
def space; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#67
def just_keyword_of_sentence?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#63
def keyword_appearance?; end

# Returns the value of attribute keywords.
#
# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#39
def keywords; end

# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#53
def regex; end

# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#41
def split_comment(comment); end

end

# source://rubocop//lib/rubocop/cop/mixin/annotation_comment.rb#50 RuboCop::Cop::AnnotationComment::KEYWORDS_REGEX_CACHE = T.let(T.unsafe(nil), Hash)

# Handles the ‘MinSize` configuration option for array-based cops # `Style/SymbolArray` and `Style/WordArray`, which check for use of the # relevant percent literal syntax such as `%i` and `%w` # # source://rubocop//lib/rubocop/cop/mixin/array_min_size.rb#8 module RuboCop::Cop::ArrayMinSize

private

# source://rubocop//lib/rubocop/cop/mixin/array_min_size.rb#19
def array_style_detected(style, ary_size); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/array_min_size.rb#11
def below_array_length?(node); end

# source://rubocop//lib/rubocop/cop/mixin/array_min_size.rb#38
def largest_brackets_size(style, ary_size); end

# source://rubocop//lib/rubocop/cop/mixin/array_min_size.rb#15
def min_size_config; end

# source://rubocop//lib/rubocop/cop/mixin/array_min_size.rb#48
def smallest_percent_size(style, ary_size); end

end

# Common code for ordinary arrays with [] that can be written with % # syntax. # # source://rubocop//lib/rubocop/cop/mixin/array_syntax.rb#7 module RuboCop::Cop::ArraySyntax

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/array_syntax.rb#10
def bracketed_array_of?(element_type, node); end

end

# extend this module to signal autocorrection support # # source://rubocop//lib/rubocop/cop/mixin/auto_corrector.rb#6 module RuboCop::Cop::AutoCorrector

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/auto_corrector.rb#7
def support_autocorrect?; end

end

# This module encapsulates the logic for autocorrect behavior for a cop. # # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#6 module RuboCop::Cop::AutocorrectLogic

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#7
def autocorrect?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#31
def autocorrect_enabled?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#15
def autocorrect_requested?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#11
def autocorrect_with_disable_uncorrectable?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#19
def correctable?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#23
def disable_uncorrectable?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#27
def safe_autocorrect?; end

private

# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#51
def disable_offense(offense_range); end

# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#118
def disable_offense_at_end_of_line(range, eol_comment); end

# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#122
def disable_offense_before_and_after(range_by_lines); end

# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#61
def disable_offense_with_eol_or_surround_comment(range); end

# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#114
def max_line_length; end

# Expand the given range to include all of any lines it covers. Does not
# include newline at end of the last line.
#
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#104
def range_by_lines(range); end

# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#95
def range_of_first_line(range); end

# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#72
def surrounding_heredoc(offense_range); end

# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#83
def surrounding_percent_array(offense_range); end

end

# Identifier of all cops containing a department and cop name. # # All cops are identified by their badge. For example, the badge for # ‘RuboCop::Cop::Layout::IndentationStyle` is `Layout/IndentationStyle`. # Badges can be parsed as either `Department/CopName` or just `CopName` to # allow for badge references in source files that omit the department for # RuboCop to infer. # # source://rubocop//lib/rubocop/cop/badge.rb#12 class RuboCop::Cop::Badge

# @return [Badge] a new instance of Badge
#
# source://rubocop//lib/rubocop/cop/badge.rb#34
def initialize(class_name_parts); end

# source://rubocop//lib/rubocop/cop/badge.rb#41
def ==(other); end

# Returns the value of attribute cop_name.
#
# source://rubocop//lib/rubocop/cop/badge.rb#13
def cop_name; end

# Returns the value of attribute department.
#
# source://rubocop//lib/rubocop/cop/badge.rb#13
def department; end

# Returns the value of attribute department_name.
#
# source://rubocop//lib/rubocop/cop/badge.rb#13
def department_name; end

# source://rubocop//lib/rubocop/cop/badge.rb#41
def eql?(other); end

# source://rubocop//lib/rubocop/cop/badge.rb#46
def hash; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/badge.rb#51
def match?(other); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/badge.rb#59
def qualified?; end

# source://rubocop//lib/rubocop/cop/badge.rb#55
def to_s; end

# source://rubocop//lib/rubocop/cop/badge.rb#63
def with_department(department); end

class << self
  # source://rubocop//lib/rubocop/cop/badge.rb#27
  def camel_case(name_part); end

  # source://rubocop//lib/rubocop/cop/badge.rb#15
  def for(class_name); end

  # source://rubocop//lib/rubocop/cop/badge.rb#23
  def parse(identifier); end
end

end

# A scaffold for concrete cops. # # The Cop::Base class is meant to be extended. # # Cops track offenses and can autocorrect them on the fly. # # A commissioner object is responsible for traversing the AST and invoking # the specific callbacks on each cop. # # First the callback ‘on_new_investigation` is called; # if a cop needs to do its own processing of the AST or depends on # something else. # # Then callbacks like `on_def`, `on_send` (see AST::Traversal) are called # with their respective nodes. # # Finally the callback `on_investigation_end` is called. # # Within these callbacks, cops are meant to call `add_offense` or # `add_global_offense`. Use the `processed_source` method to # get the currently processed source being investigated. # # In case of invalid syntax / unparsable content, # the callback `on_other_file` is called instead of all the other # `on_…` callbacks. # # Private methods are not meant for custom cops consumption, # nor are any instance variables. # # source://rubocop//lib/rubocop/cop/base.rb#34 class RuboCop::Cop::Base

include ::RuboCop::AST::Sexp
include ::RuboCop::PathUtil
include ::RuboCop::Cop::Util
include ::RuboCop::Cop::IgnoredNode
include ::RuboCop::Cop::AutocorrectLogic
extend ::RuboCop::AST::Sexp
extend ::RuboCop::AST::NodePattern::Macros
extend ::RuboCop::ExcludeLimit

# @return [Base] a new instance of Base
#
# source://rubocop//lib/rubocop/cop/base.rb#153
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/base.rb#267
def active_support_extensions_enabled?; end

# Adds an offense that has no particular location.
# No correction can be applied to global offenses
#
# source://rubocop//lib/rubocop/cop/base.rb#186
def add_global_offense(message = T.unsafe(nil), severity: T.unsafe(nil)); end

# Adds an offense on the specified range (or node with an expression)
# Unless that offense is disabled for this range, a corrector will be yielded
# to provide the cop the opportunity to autocorrect the offense.
# If message is not specified, the method `message` will be called.
#
# source://rubocop//lib/rubocop/cop/base.rb#196
def add_offense(node_or_range, message: T.unsafe(nil), severity: T.unsafe(nil), &block); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/base.rb#338
def always_autocorrect?; end

# Called before any investigation
#
# @api private
#
# source://rubocop//lib/rubocop/cop/base.rb#324
def begin_investigation(processed_source, offset: T.unsafe(nil), original: T.unsafe(nil)); end

# @api private
#
# source://rubocop//lib/rubocop/cop/base.rb#309
def callbacks_needed; end

# Returns the value of attribute config.
#
# source://rubocop//lib/rubocop/cop/base.rb#43
def config; end

# source://rubocop//lib/rubocop/cop/base.rb#247
def config_to_allow_offenses; end

# source://rubocop//lib/rubocop/cop/base.rb#251
def config_to_allow_offenses=(hash); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/base.rb#344
def contextual_autocorrect?; end

# Configuration Helpers
#
# source://rubocop//lib/rubocop/cop/base.rb#241
def cop_config; end

# source://rubocop//lib/rubocop/cop/base.rb#233
def cop_name; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/base.rb#280
def excluded_file?(file); end

# This method should be overridden when a cop's behavior depends
# on state that lives outside of these locations:
#
#   (1) the file under inspection
#   (2) the cop's source code
#   (3) the config (eg a .rubocop.yml file)
#
# For example, some cops may want to look at other parts of
# the codebase being inspected to find violations. A cop may
# use the presence or absence of file `foo.rb` to determine
# whether a certain violation exists in `bar.rb`.
#
# Overriding this method allows the cop to indicate to RuboCop's
# ResultCache system when those external dependencies change,
# ie when the ResultCache should be invalidated.
#
# source://rubocop//lib/rubocop/cop/base.rb#229
def external_dependency_checksum; end

# source://rubocop//lib/rubocop/cop/base.rb#348
def inspect; end

# Gets called if no message is specified when calling `add_offense` or
# `add_global_offense`
# Cops are discouraged to override this; instead pass your message directly
#
# source://rubocop//lib/rubocop/cop/base.rb#180
def message(_range = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/base.rb#233
def name; end

# @deprecated Make potential errors with previous API more obvious
#
# source://rubocop//lib/rubocop/cop/base.rb#300
def offenses; end

# Called after all on_... have been called
# When refining this method, always call `super`
#
# source://rubocop//lib/rubocop/cop/base.rb#167
def on_investigation_end; end

# Called before all on_... have been called
# When refining this method, always call `super`
#
# source://rubocop//lib/rubocop/cop/base.rb#161
def on_new_investigation; end

# Called instead of all on_... callbacks for unrecognized files / syntax errors
# When refining this method, always call `super`
#
# source://rubocop//lib/rubocop/cop/base.rb#173
def on_other_file; end

# There should be very limited reasons for a Cop to do it's own parsing
#
# source://rubocop//lib/rubocop/cop/base.rb#285
def parse(source, path = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/base.rb#259
def parser_engine; end

# Returns the value of attribute processed_source.
#
# source://rubocop//lib/rubocop/cop/base.rb#43
def processed_source; end

# Called between investigations
#
# @api private
#
# source://rubocop//lib/rubocop/cop/base.rb#291
def ready; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/base.rb#271
def relevant_file?(file); end

# source://rubocop//lib/rubocop/cop/base.rb#263
def target_rails_version; end

# source://rubocop//lib/rubocop/cop/base.rb#255
def target_ruby_version; end

private

# source://rubocop//lib/rubocop/cop/base.rb#476
def annotate(message); end

# source://rubocop//lib/rubocop/cop/base.rb#360
def apply_correction(corrector); end

# @return [Symbol] offense status
#
# source://rubocop//lib/rubocop/cop/base.rb#440
def attempt_correction(range, corrector); end

# Reserved for Cop::Cop
#
# source://rubocop//lib/rubocop/cop/base.rb#356
def callback_argument(range); end

# Called to complete an investigation
#
# source://rubocop//lib/rubocop/cop/base.rb#389
def complete_investigation; end

# @return [Symbol, Corrector] offense status
#
# source://rubocop//lib/rubocop/cop/base.rb#414
def correct(range); end

# source://rubocop//lib/rubocop/cop/base.rb#374
def current_corrector; end

# Reserved for Commissioner:
#
# source://rubocop//lib/rubocop/cop/base.rb#366
def current_offense_locations; end

# source://rubocop//lib/rubocop/cop/base.rb#378
def current_offenses; end

# source://rubocop//lib/rubocop/cop/base.rb#370
def currently_disabled_lines; end

# source://rubocop//lib/rubocop/cop/base.rb#504
def custom_severity; end

# source://rubocop//lib/rubocop/cop/base.rb#500
def default_severity; end

# source://rubocop//lib/rubocop/cop/base.rb#454
def disable_uncorrectable(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/base.rb#490
def enabled_line?(line_number); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/base.rb#482
def file_name_matches_any?(file, parameter, default_result); end

# source://rubocop//lib/rubocop/cop/base.rb#472
def find_message(range, message); end

# source://rubocop//lib/rubocop/cop/base.rb#496
def find_severity(_range, severity); end

# source://rubocop//lib/rubocop/cop/base.rb#517
def range_for_original(range); end

# source://rubocop//lib/rubocop/cop/base.rb#461
def range_from_node_or_range(node_or_range); end

# source://rubocop//lib/rubocop/cop/base.rb#409
def reset_investigation; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/base.rb#525
def target_satisfies_all_gem_version_requirements?; end

# @return [Symbol] offense status
#
# source://rubocop//lib/rubocop/cop/base.rb#429
def use_corrector(range, corrector); end

class << self
  # List of cops that should not try to autocorrect at the same
  # time as this cop
  #
  # @api public
  # @return [Array<RuboCop::Cop::Base>]
  #
  # source://rubocop//lib/rubocop/cop/base.rb#59
  def autocorrect_incompatible_with; end

  # Naming
  #
  # source://rubocop//lib/rubocop/cop/base.rb#90
  def badge; end

  # @api private
  #
  # source://rubocop//lib/rubocop/cop/base.rb#314
  def callbacks_needed; end

  # source://rubocop//lib/rubocop/cop/base.rb#94
  def cop_name; end

  # source://rubocop//lib/rubocop/cop/base.rb#98
  def department; end

  # Cops (other than builtin) are encouraged to implement this
  #
  # @api public
  # @return [String, nil]
  #
  # source://rubocop//lib/rubocop/cop/base.rb#67
  def documentation_url; end

  # Call for abstract Cop classes
  #
  # source://rubocop//lib/rubocop/cop/base.rb#78
  def exclude_from_registry; end

  # Returns the value of attribute gem_requirements.
  #
  # source://rubocop//lib/rubocop/cop/base.rb#135
  def gem_requirements; end

  # @private
  #
  # source://rubocop//lib/rubocop/cop/base.rb#71
  def inherited(subclass); end

  # Override and return the Force class(es) you need to join
  #
  # source://rubocop//lib/rubocop/cop/base.rb#115
  def joining_forces; end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/base.rb#102
  def lint?; end

  # Returns true if the cop name or the cop namespace matches any of the
  # given names.
  #
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/base.rb#108
  def match?(given_names); end

  # Register a version requirement for the given gem name.
  # This cop will be skipped unless the target satisfies *all* requirements.
  #
  # @api public
  # @param gem_name [String]
  # @param version_requirements [Array<String>] The version requirements,
  #   using the same syntax as a Gemfile, e.g. ">= 1.2.3"
  #
  #   If omitted, any version of the gem will be accepted.
  #
  #   https://guides.rubygems.org/patterns/#declaring-dependencies
  #
  # source://rubocop//lib/rubocop/cop/base.rb#148
  def requires_gem(gem_name, *version_requirements); end

  # Returns if class supports autocorrect.
  # It is recommended to extend AutoCorrector instead of overriding
  #
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/base.rb#84
  def support_autocorrect?; end

  # Override if your cop should be called repeatedly for multiple investigations
  # Between calls to `on_new_investigation` and `on_investigation_end`,
  # the result of `processed_source` will remain constant.
  # You should invalidate any caches that depend on the current `processed_source`
  # in the `on_new_investigation` callback.
  # If your cop does autocorrections, be aware that your instance may be called
  # multiple times with the same `processed_source.path` but different content.
  #
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/base.rb#126
  def support_multiple_source?; end

  private

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/base.rb#400
  def builtin?; end

  # source://rubocop//lib/rubocop/cop/base.rb#382
  def restrict_on_send; end
end

end

# source://rubocop//lib/rubocop/cop/base.rb#386 RuboCop::Cop::Base::EMPTY_OFFENSES = T.let(T.unsafe(nil), Array)

# Reports of an investigation. # Immutable # Consider creation API private # # source://rubocop//lib/rubocop/cop/base.rb#48 class RuboCop::Cop::Base::InvestigationReport < ::Struct

# Returns the value of attribute cop
#
# @return [Object] the current value of cop
def cop; end

# Sets the attribute cop
#
# @param value [Object] the value to set the attribute cop to.
# @return [Object] the newly set value
def cop=(_); end

# Returns the value of attribute corrector
#
# @return [Object] the current value of corrector
def corrector; end

# Sets the attribute corrector
#
# @param value [Object] the value to set the attribute corrector to.
# @return [Object] the newly set value
def corrector=(_); end

# Returns the value of attribute offenses
#
# @return [Object] the current value of offenses
def offenses; end

# Sets the attribute offenses
#
# @param value [Object] the value to set the attribute offenses to.
# @return [Object] the newly set value
def offenses=(_); end

# Returns the value of attribute processed_source
#
# @return [Object] the current value of processed_source
def processed_source; end

# Sets the attribute processed_source
#
# @param value [Object] the value to set the attribute processed_source to.
# @return [Object] the newly set value
def processed_source=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# List of methods names to restrict calls for ‘on_send` / `on_csend` # # source://rubocop//lib/rubocop/cop/base.rb#51 RuboCop::Cop::Base::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#5 module RuboCop::Cop::Bundler; end

# A Gem’s requirements should be listed only once in a Gemfile. # # @example # # bad # gem ‘rubocop’ # gem ‘rubocop’ # # # bad # group :development do # gem ‘rubocop’ # end # # group :test do # gem ‘rubocop’ # end # # # good # group :development, :test do # gem ‘rubocop’ # end # # # good # gem ‘rubocop’, groups: [:development, :test] # # # good - conditional declaration # if Dir.exist?(local) # gem ‘rubocop’, path: local # elsif ENV == ‘master’ # gem ‘rubocop’, git: ‘github.com/rubocop/rubocop.git’ # else # gem ‘rubocop’, ‘~> 0.90.0’ # end # # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#39 class RuboCop::Cop::Bundler::DuplicatedGem < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#58
def gem_declarations(param0); end

# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#45
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#67
def conditional_declaration?(nodes); end

# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#60
def duplicated_gem_nodes; end

# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#81
def register_offense(node, gem_name, line_of_first_occurrence); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#75
def within_conditional?(node, conditional_node); end

end

# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#42 RuboCop::Cop::Bundler::DuplicatedGem::MSG = T.let(T.unsafe(nil), String)

# A Gem group, or a set of groups, should be listed only once in a Gemfile. # # For example, if the values of ‘source`, `git`, `platforms`, or `path` # surrounding `group` are different, no offense will be registered: # # [source,ruby] # —– # platforms :ruby do # group :default do # gem ’openssl’ # end # end # # platforms :jruby do # group :default do # gem ‘jruby-openssl’ # end # end # —– # # @example # # bad # group :development do # gem ‘rubocop’ # end # # group :development do # gem ‘rubocop-rails’ # end # # # bad (same set of groups declared twice) # group :development, :test do # gem ‘rubocop’ # end # # group :test, :development do # gem ‘rspec’ # end # # # good # group :development do # gem ‘rubocop’ # end # # group :development, :test do # gem ‘rspec’ # end # # # good # gem ‘rubocop’, groups: [:development, :test] # gem ‘rspec’, groups: [:development, :test] # # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#58 class RuboCop::Cop::Bundler::DuplicatedGroup < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#66
def group_declarations(param0); end

# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#68
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#82
def duplicated_group_nodes; end

# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#105
def find_source_key(node); end

# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#115
def group_attributes(node); end

# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#94
def register_offense(node, group_name, line_of_first_occurrence); end

end

# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#61 RuboCop::Cop::Bundler::DuplicatedGroup::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#63 RuboCop::Cop::Bundler::DuplicatedGroup::SOURCE_BLOCK_NAMES = T.let(T.unsafe(nil), Array)

# Each gem in the Gemfile should have a comment explaining # its purpose in the project, or the reason for its version # or source. # # The optional “OnlyFor” configuration array # can be used to only register offenses when the gems # use certain options or have version specifiers. # # When “version_specifiers” is included, a comment # will be enforced if the gem has any version specifier. # # When “restrictive_version_specifiers” is included, a comment # will be enforced if the gem has a version specifier that # holds back the version of the gem. # # For any other value in the array, a comment will be enforced for # a gem if an option by the same name is present. # A useful use case is to enforce a comment when using # options that change the source of a gem: # # - ‘bitbucket` # - `gist` # - `git` # - `github` # - `source` # # For a full list of options supported by bundler, # see bundler.io/man/gemfile.5.html # . # # @example OnlyFor: [] (default) # # bad # # gem ’foo’ # # # good # # # Helpers for the foo things. # gem ‘foo’ # @example OnlyFor: [‘version_specifiers’] # # bad # # gem ‘foo’, ‘< 2.1’ # # # good # # # Version 2.1 introduces breaking change baz # gem ‘foo’, ‘< 2.1’ # @example OnlyFor: [‘restrictive_version_specifiers’] # # bad # # gem ‘foo’, ‘< 2.1’ # # # good # # gem ‘foo’, ‘>= 1.0’ # # # Version 2.1 introduces breaking change baz # gem ‘foo’, ‘< 2.1’ # @example OnlyFor: [‘version_specifiers’, ‘github’] # # bad # # gem ‘foo’, github: ‘some_account/some_fork_of_foo’ # # gem ‘bar’, ‘< 2.1’ # # # good # # # Using this fork because baz # gem ‘foo’, github: ‘some_account/some_fork_of_foo’ # # # Version 2.1 introduces breaking change baz # gem ‘bar’, ‘< 2.1’ # # source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#83 class RuboCop::Cop::Bundler::GemComment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::VisibilityHelp
include ::RuboCop::Cop::DefNode
include ::RuboCop::Cop::GemDeclaration

# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#94
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#135
def checked_options_present?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#109
def commented?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#105
def commented_any_descendant?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#159
def contains_checked_options?(node); end

# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#163
def gem_options(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#130
def ignored_gem?(node); end

# The args node1 & node2 may represent a RuboCop::AST::Node
# or a Parser::Source::Comment. Both respond to #loc.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#116
def precede?(node1, node2); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#126
def preceding_comment?(node1, node2); end

# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#120
def preceding_lines(node); end

# Version specifications that restrict all updates going forward. This excludes versions
# like ">= 1.0" or "!= 2.0.3".
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#152
def restrictive_version_specified_gem?(node); end

# Besides the gem name, all other *positional* arguments to `gem` are version specifiers,
# as long as it has one we know there's at least one version specifier.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#145
def version_specified_gem?(node); end

end

# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#88 RuboCop::Cop::Bundler::GemComment::CHECKED_OPTIONS_CONFIG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#87 RuboCop::Cop::Bundler::GemComment::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#91 RuboCop::Cop::Bundler::GemComment::RESTRICTIVE_VERSION_PATTERN = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#90 RuboCop::Cop::Bundler::GemComment::RESTRICTIVE_VERSION_SPECIFIERS_OPTION = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#92 RuboCop::Cop::Bundler::GemComment::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/bundler/gem_comment.rb#89 RuboCop::Cop::Bundler::GemComment::VERSION_SPECIFIERS_OPTION = T.let(T.unsafe(nil), String)

# Verifies that a project contains Gemfile or gems.rb file and correct # associated lock file based on the configuration. # # @example EnforcedStyle: Gemfile (default) # # bad # Project contains gems.rb and gems.locked files # # # bad # Project contains Gemfile and gems.locked file # # # good # Project contains Gemfile and Gemfile.lock # @example EnforcedStyle: gems.rb # # bad # Project contains Gemfile and Gemfile.lock files # # # bad # Project contains gems.rb and Gemfile.lock file # # # good # Project contains gems.rb and gems.locked files # # source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#28 class RuboCop::Cop::Bundler::GemFilename < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#43
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#88
def expected_gemfile?(basename); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#80
def gemfile_offense?(basename); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#93
def gemfile_required?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#84
def gems_rb_offense?(basename); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#97
def gems_rb_required?; end

# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#58
def register_gemfile_offense(file_path, basename); end

# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#69
def register_gems_rb_offense(file_path, basename); end

# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#53
def register_offense(file_path, basename); end

end

# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#40 RuboCop::Cop::Bundler::GemFilename::GEMFILE_FILES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#41 RuboCop::Cop::Bundler::GemFilename::GEMS_RB_FILES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#36 RuboCop::Cop::Bundler::GemFilename::MSG_GEMFILE_MISMATCHED = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#32 RuboCop::Cop::Bundler::GemFilename::MSG_GEMFILE_REQUIRED = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#38 RuboCop::Cop::Bundler::GemFilename::MSG_GEMS_RB_MISMATCHED = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/gem_filename.rb#34 RuboCop::Cop::Bundler::GemFilename::MSG_GEMS_RB_REQUIRED = T.let(T.unsafe(nil), String)

# Enforce that Gem version specifications or a commit reference (branch, # ref, or tag) are either required or forbidden. # # @example EnforcedStyle: required (default) # # bad # gem ‘rubocop’ # # # good # gem ‘rubocop’, ‘~> 1.12’ # # # good # gem ‘rubocop’, ‘>= 1.10.0’ # # # good # gem ‘rubocop’, ‘>= 1.5.0’, ‘< 1.10.0’ # # # good # gem ‘rubocop’, branch: ‘feature-branch’ # # # good # gem ‘rubocop’, ref: ‘74b5bfbb2c4b6fd6cdbbc7254bd7084b36e0c85b’ # # # good # gem ‘rubocop’, tag: ‘v1.17.0’ # @example EnforcedStyle: forbidden # # good # gem ‘rubocop’ # # # bad # gem ‘rubocop’, ‘~> 1.12’ # # # bad # gem ‘rubocop’, ‘>= 1.10.0’ # # # bad # gem ‘rubocop’, ‘>= 1.5.0’, ‘< 1.10.0’ # # # bad # gem ‘rubocop’, branch: ‘feature-branch’ # # # bad # gem ‘rubocop’, ref: ‘74b5bfbb2c4b6fd6cdbbc7254bd7084b36e0c85b’ # # # bad # gem ‘rubocop’, tag: ‘v1.17.0’ # # source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#53 class RuboCop::Cop::Bundler::GemVersion < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::GemDeclaration

# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#67
def includes_commit_reference?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#62
def includes_version_specification?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#71
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#85
def allowed_gem?(node); end

# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#89
def allowed_gems; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#113
def forbidden_offense?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#119
def forbidden_style?; end

# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#93
def message(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#103
def offense?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#107
def required_offense?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#123
def required_style?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#127
def version_specification?(expression); end

end

# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#58 RuboCop::Cop::Bundler::GemVersion::FORBIDDEN_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#57 RuboCop::Cop::Bundler::GemVersion::REQUIRED_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/gem_version.rb#59 RuboCop::Cop::Bundler::GemVersion::VERSION_SPECIFICATION_REGEX = T.let(T.unsafe(nil), Regexp)

# Passing symbol arguments to ‘source` (e.g. `source :rubygems`) is # deprecated because they default to using HTTP requests. Instead, specify # `’rubygems.org’‘ if possible, or `’rubygems.org’‘ if not. # # When autocorrecting, this cop will replace symbol arguments with # `’rubygems.org’‘. # # This cop will not replace existing sources that use `http://`. This may # be necessary where HTTPS is not available. For example, where using an # internal gem server via an intranet, or where HTTPS is prohibited. # However, you should strongly prefer `https://` where possible, as it is # more secure. # # If you don’t allow ‘http://`, please set `false` to `AllowHttpProtocol`. # This option is `true` by default for safe autocorrection. # # @example # # bad # source :gemcutter # source :rubygems # source :rubyforge # # # good # source ’rubygems.org’ # strongly recommended # @example AllowHttpProtocol: true (default) # # # good # source ‘rubygems.org’ # use only if HTTPS is unavailable # @example AllowHttpProtocol: false # # # bad # source ‘rubygems.org’ # # source://rubocop//lib/rubocop/cop/bundler/insecure_protocol_source.rb#41 class RuboCop::Cop::Bundler::InsecureProtocolSource < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/bundler/insecure_protocol_source.rb#54
def insecure_protocol_source?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/bundler/insecure_protocol_source.rb#59
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/bundler/insecure_protocol_source.rb#80
def allow_http_protocol?; end

end

# source://rubocop//lib/rubocop/cop/bundler/insecure_protocol_source.rb#45 RuboCop::Cop::Bundler::InsecureProtocolSource::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/insecure_protocol_source.rb#49 RuboCop::Cop::Bundler::InsecureProtocolSource::MSG_HTTP_PROTOCOL = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/bundler/insecure_protocol_source.rb#51 RuboCop::Cop::Bundler::InsecureProtocolSource::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Gems should be alphabetically sorted within groups. # # @example # # bad # gem ‘rubocop’ # gem ‘rspec’ # # # good # gem ‘rspec’ # gem ‘rubocop’ # # # good # gem ‘rubocop’ # # gem ‘rspec’ # @example TreatCommentsAsGroupSeparators: true (default) # # good # # For code quality # gem ‘rubocop’ # # For tests # gem ‘rspec’ # @example TreatCommentsAsGroupSeparators: false # # bad # # For code quality # gem ‘rubocop’ # # For tests # gem ‘rspec’ # # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#35 class RuboCop::Cop::Bundler::OrderedGems < ::RuboCop::Cop::Base

include ::RuboCop::Cop::OrderedGemNode
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#64
def gem_declarations(param0); end

# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#43
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#57
def previous_declaration(node); end

end

# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#39 RuboCop::Cop::Bundler::OrderedGems::MSG = T.let(T.unsafe(nil), String)

# Common functionality for checking assignment nodes. # # source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#6 module RuboCop::Cop::CheckAssignment

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#7
def on_and_asgn(node); end

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#7
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#7
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#7
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#7
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#7
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#7
def on_masgn(node); end

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#7
def on_op_asgn(node); end

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#7
def on_or_asgn(node); end

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#19
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#29
def extract_rhs(node); end

class << self
  # source://rubocop//lib/rubocop/cop/mixin/check_assignment.rb#29
  def extract_rhs(node); end
end

end

# This mixin detects collections that are safe to “break” # by inserting new lines. This is useful for breaking # up long lines. # # Let’s look at hashes as an example: # # We know hash keys are safe to break across lines. We can add # linebreaks into hashes on lines longer than the specified maximum. # Then in further passes cops can clean up the multi-line hash. # For example, say the maximum line length is as indicated below: # # | # v # {foo: “0000000000”, bar: “0000000000”, baz: “0000000000”} # # In a LineLength autocorrection pass, a line is added before # the first key that exceeds the column limit: # # {foo: “0000000000”, bar: “0000000000”, # baz: “0000000000”} # # In a MultilineHashKeyLineBreaks pass, lines are inserted # before all keys: # # {foo: “0000000000”, # bar: “0000000000”, # baz: “0000000000”} # # Then in future passes FirstHashElementLineBreak, # MultilineHashBraceLayout, and TrailingCommaInHashLiteral will # manipulate as well until we get: # # { # foo: “0000000000”, # bar: “0000000000”, # baz: “0000000000”, # } # # (Note: Passes may not happen exactly in this sequence.) # # source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#44 module RuboCop::Cop::CheckLineBreakable

# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#45
def extract_breakable_node(node, max); end

private

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#200
def all_on_same_line?(nodes); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#220
def already_on_multiple_lines?(node); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#133
def breakable_collection?(node, elements); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#187
def children_could_be_broken_up?(children); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#150
def contained_by_breakable_collection_on_same_line?(node); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#170
def contained_by_multiline_collection_that_could_be_broken_up?(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#60
def extract_breakable_node_from_elements(node, elements, max); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#72
def extract_first_element_over_column_limit(node, elements, max); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#92
def first_argument_is_heredoc?(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#207
def process_args(args); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#117
def safe_to_ignore?(node); end

# If a send node contains a heredoc argument, splitting cannot happen
# after the heredoc or else it will cause a syntax error.
#
# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#101
def shift_elements_for_heredoc_arg(node, elements, index); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/check_line_breakable.rb#112
def within_column_limit?(element, max, line); end

end

# Common functionality for checking length of code segments. # # source://rubocop//lib/rubocop/cop/mixin/code_length.rb#6 module RuboCop::Cop::CodeLength

extend ::RuboCop::ExcludeLimit

# source://rubocop//lib/rubocop/cop/exclude_limit.rb#11
def max=(value); end

private

# source://rubocop//lib/rubocop/cop/mixin/code_length.rb#49
def build_code_length_calculator(node); end

# source://rubocop//lib/rubocop/cop/mixin/code_length.rb#31
def check_code_length(node); end

# source://rubocop//lib/rubocop/cop/mixin/code_length.rb#27
def count_as_one; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/code_length.rb#23
def count_comments?; end

# Returns true for lines that shall not be included in the count.
#
# source://rubocop//lib/rubocop/cop/mixin/code_length.rb#45
def irrelevant_line(source_line); end

# source://rubocop//lib/rubocop/cop/mixin/code_length.rb#58
def location(node); end

# source://rubocop//lib/rubocop/cop/mixin/code_length.rb#19
def max_length; end

# source://rubocop//lib/rubocop/cop/mixin/code_length.rb#15
def message(length, max_length); end

end

# source://rubocop//lib/rubocop/cop/mixin/code_length.rb#9 RuboCop::Cop::CodeLength::MSG = T.let(T.unsafe(nil), String)

# Help methods for working with nodes containing comments. # # source://rubocop//lib/rubocop/cop/mixin/comments_help.rb#6 module RuboCop::Cop::CommentsHelp

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/comments_help.rb#25
def comments_contain_disables?(node, cop_name); end

# source://rubocop//lib/rubocop/cop/mixin/comments_help.rb#18
def comments_in_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/comments_help.rb#14
def contains_comments?(node); end

# source://rubocop//lib/rubocop/cop/mixin/comments_help.rb#7
def source_range_with_comment(node); end

private

# source://rubocop//lib/rubocop/cop/mixin/comments_help.rb#44
def begin_pos_with_comment(node); end

# source://rubocop//lib/rubocop/cop/mixin/comments_help.rb#58
def buffer; end

# source://rubocop//lib/rubocop/cop/mixin/comments_help.rb#39
def end_position_for(node); end

# Returns the end line of a node, which might be a comment and not part of the AST
# End line is considered either the line at which another node starts, or
# the line at which the parent node ends.
#
# source://rubocop//lib/rubocop/cop/mixin/comments_help.rb#66
def find_end_line(node); end

# source://rubocop//lib/rubocop/cop/mixin/comments_help.rb#54
def start_line_position(node); end

end

# Commissioner class is responsible for processing the AST and delegating # work to the specified cops. # # source://rubocop//lib/rubocop/cop/commissioner.rb#7 class RuboCop::Cop::Commissioner

include ::RuboCop::AST::Traversal

# @return [Commissioner] a new instance of Commissioner
#
# source://rubocop//lib/rubocop/cop/commissioner.rb#44
def initialize(cops, forces = T.unsafe(nil), options = T.unsafe(nil)); end

# Returns the value of attribute errors.
#
# source://rubocop//lib/rubocop/cop/commissioner.rb#42
def errors; end

# @return [InvestigationReport]
#
# source://rubocop//lib/rubocop/cop/commissioner.rb#79
def investigate(processed_source, offset: T.unsafe(nil), original: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on___ENCODING__(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on___FILE__(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on___LINE__(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_alias(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_and(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_and_asgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_arg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_arg_expr(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_args(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_array(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_array_pattern(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_array_pattern_with_tail(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_back_ref(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_begin(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_block(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_block_pass(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_blockarg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_break(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_case(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_case_match(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_cbase(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_class(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_complex(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_const(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_const_pattern(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_cvar(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_def(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_defined?(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_dstr(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_dsym(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_eflipflop(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_empty_else(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_ensure(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_erange(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_false(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_find_pattern(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_float(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_for(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_forward_arg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_forward_args(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_forwarded_args(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_forwarded_kwrestarg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_forwarded_restarg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_gvar(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_hash(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_hash_pattern(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_if(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_if_guard(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_iflipflop(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_in_match(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_in_pattern(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_index(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_indexasgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_int(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_irange(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_ivar(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_kwarg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_kwargs(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_kwbegin(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_kwnilarg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_kwoptarg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_kwrestarg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_kwsplat(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_lambda(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_lvar(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_masgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_match_alt(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_match_as(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_match_current_line(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_match_nil_pattern(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_match_pattern(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_match_pattern_p(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_match_rest(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_match_var(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_match_with_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_match_with_trailing_comma(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_mlhs(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_module(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_next(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_nil(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_not(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_nth_ref(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_op_asgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_optarg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_or(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_or_asgn(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_pair(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_pin(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_postexe(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_preexe(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_procarg0(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_rational(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_redo(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_regexp(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_regopt(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_resbody(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_rescue(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_restarg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_retry(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_return(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_sclass(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_self(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_send(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_shadowarg(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_splat(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_str(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_super(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_sym(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_true(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_undef(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_unless_guard(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_until(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_until_post(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_when(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_while(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_while_post(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_xstr(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_yield(node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#68
def on_zsuper(node); end

private

# source://rubocop//lib/rubocop/cop/commissioner.rb#98
def begin_investigation(processed_source, offset:, original:); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#121
def build_callbacks(cops); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#116
def initialize_callbacks; end

# source://rubocop//lib/rubocop/cop/commissioner.rb#159
def invoke(callback, cops); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#163
def invoke_with_argument(callback, cops, arg); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#112
def reset; end

# source://rubocop//lib/rubocop/cop/commissioner.rb#131
def restrict_callbacks(callbacks); end

# NOTE: mutates `callbacks` in place
#
# source://rubocop//lib/rubocop/cop/commissioner.rb#149
def restricted_map(callbacks); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#104
def trigger_responding_cops(callback, node); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#139
def trigger_restricted_cops(event, node); end

# Allow blind rescues here, since we're absorbing and packaging or
# re-raising exceptions that can be raised from within the individual
# cops' `#investigate` methods.
#
# source://rubocop//lib/rubocop/cop/commissioner.rb#170
def with_cop_error_handling(cop, node = T.unsafe(nil)); end

end

# How a Commissioner returns the results of the investigation # as a list of Cop::InvestigationReport and any errors caught # during the investigation. # Immutable # Consider creation API private # # source://rubocop//lib/rubocop/cop/commissioner.rb#18 class RuboCop::Cop::Commissioner::InvestigationReport < ::Struct

# Returns the value of attribute cop_reports
#
# @return [Object] the current value of cop_reports
def cop_reports; end

# Sets the attribute cop_reports
#
# @param value [Object] the value to set the attribute cop_reports to.
# @return [Object] the newly set value
def cop_reports=(_); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#19
def cops; end

# source://rubocop//lib/rubocop/cop/commissioner.rb#27
def correctors; end

# Returns the value of attribute errors
#
# @return [Object] the current value of errors
def errors; end

# Sets the attribute errors
#
# @param value [Object] the value to set the attribute errors to.
# @return [Object] the newly set value
def errors=(_); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#35
def merge(investigation); end

# source://rubocop//lib/rubocop/cop/commissioner.rb#31
def offenses; end

# source://rubocop//lib/rubocop/cop/commissioner.rb#23
def offenses_per_cop; end

# Returns the value of attribute processed_source
#
# @return [Object] the current value of processed_source
def processed_source; end

# Sets the attribute processed_source
#
# @param value [Object] the value to set the attribute processed_source to.
# @return [Object] the newly set value
def processed_source=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# source://rubocop//lib/rubocop/cop/commissioner.rb#10 RuboCop::Cop::Commissioner::RESTRICTED_CALLBACKS = T.let(T.unsafe(nil), Array)

# This class does condition autocorrection # # source://rubocop//lib/rubocop/cop/correctors/condition_corrector.rb#6 class RuboCop::Cop::ConditionCorrector

class << self
  # source://rubocop//lib/rubocop/cop/correctors/condition_corrector.rb#8
  def correct_negative_condition(corrector, node); end

  private

  # source://rubocop//lib/rubocop/cop/correctors/condition_corrector.rb#17
  def negated_condition(node); end
end

end

# Handles ‘EnforcedStyle` configuration parameters. # # source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#6 module RuboCop::Cop::ConfigurableEnforcedStyle

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#88
def alternative_style; end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#96
def alternative_styles; end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#19
def ambiguous_style_detected(*possibilities); end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#60
def conflicting_styles_detected; end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#11
def correct_style_detected; end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#64
def detected_style; end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#68
def detected_style=(style); end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#60
def no_acceptable_style!; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#56
def no_acceptable_style?; end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#7
def opposite_style_detected; end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#79
def style; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#75
def style_configured?; end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#29
def style_detected(detected); end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#107
def style_parameter_name; end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#100
def supported_styles; end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#15
def unexpected_style_detected(unexpected); end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#60
def unrecognized_style_detected; end

end

# source://rubocop//lib/rubocop/cop/mixin/configurable_enforced_style.rb#23 RuboCop::Cop::ConfigurableEnforcedStyle::SYMBOL_TO_STRING_CACHE = T.let(T.unsafe(nil), Hash)

# Shared functionality between mixins that enforce naming conventions # # source://rubocop//lib/rubocop/cop/mixin/configurable_formatting.rb#6 module RuboCop::Cop::ConfigurableFormatting

include ::RuboCop::Cop::ConfigurableEnforcedStyle

# source://rubocop//lib/rubocop/cop/mixin/configurable_formatting.rb#9
def check_name(node, name, name_range); end

# A class emitter method is a singleton method in a class/module, where
# the method has the same name as a class defined in the class/module.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/configurable_formatting.rb#30
def class_emitter_method?(node, name); end

# source://rubocop//lib/rubocop/cop/mixin/configurable_formatting.rb#17
def report_opposing_styles(node, name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/configurable_formatting.rb#24
def valid_name?(node, name, given_style = T.unsafe(nil)); end

end

# Handles ‘Max` configuration parameters, especially setting them to an # appropriate value with –auto-gen-config. # # @deprecated Use `exclude_limit ParameterName` instead. # # source://rubocop//lib/rubocop/cop/mixin/configurable_max.rb#8 module RuboCop::Cop::ConfigurableMax

private

# source://rubocop//lib/rubocop/cop/mixin/configurable_max.rb#11
def max=(value); end

# source://rubocop//lib/rubocop/cop/mixin/configurable_max.rb#19
def max_parameter_name; end

end

# This module provides functionality for checking if names match the # configured EnforcedStyle. # # source://rubocop//lib/rubocop/cop/mixin/configurable_naming.rb#7 module RuboCop::Cop::ConfigurableNaming

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::ConfigurableFormatting

end

# source://rubocop//lib/rubocop/cop/mixin/configurable_naming.rb#10 RuboCop::Cop::ConfigurableNaming::FORMATS = T.let(T.unsafe(nil), Hash)

# This module provides functionality for checking if numbering match the # configured EnforcedStyle. # # source://rubocop//lib/rubocop/cop/mixin/configurable_numbering.rb#7 module RuboCop::Cop::ConfigurableNumbering

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::ConfigurableFormatting

end

# source://rubocop//lib/rubocop/cop/mixin/configurable_numbering.rb#11 RuboCop::Cop::ConfigurableNumbering::FORMATS = T.let(T.unsafe(nil), Hash)

# Monkey-patch Cop for tests to provide easy access to messages and # highlights. # # source://rubocop//lib/rubocop/cop/cop.rb#11 class RuboCop::Cop::Cop < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/cop.rb#53
def add_offense(node_or_range, location: T.unsafe(nil), message: T.unsafe(nil), severity: T.unsafe(nil), &block); end

# Called before any investigation
#
# @api private
#
# source://rubocop//lib/rubocop/cop/cop.rb#103
def begin_investigation(processed_source, offset: T.unsafe(nil), original: T.unsafe(nil)); end

# @deprecated
#
# source://rubocop//lib/rubocop/cop/cop.rb#82
def corrections; end

# source://rubocop//lib/rubocop/cop/cop.rb#70
def find_location(node, loc); end

# Returns the value of attribute offenses.
#
# source://rubocop//lib/rubocop/cop/cop.rb#12
def offenses; end

# Called after all on_... have been called
#
# source://rubocop//lib/rubocop/cop/cop.rb#96
def on_investigation_end; end

# Called before all on_... have been called
#
# source://rubocop//lib/rubocop/cop/cop.rb#90
def on_new_investigation; end

# @deprecated Use class method
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/cop.rb#76
def support_autocorrect?; end

private

# source://rubocop//lib/rubocop/cop/cop.rb#121
def apply_correction(corrector); end

# Override Base
#
# source://rubocop//lib/rubocop/cop/cop.rb#117
def callback_argument(_range); end

# source://rubocop//lib/rubocop/cop/cop.rb#138
def correction_lambda; end

# source://rubocop//lib/rubocop/cop/cop.rb#144
def dedupe_on_node(node); end

# Just for legacy
#
# @yield [corrector]
#
# source://rubocop//lib/rubocop/cop/cop.rb#126
def emulate_v0_callsequence(corrector); end

# source://rubocop//lib/rubocop/cop/cop.rb#157
def range_for_original(range); end

# source://rubocop//lib/rubocop/cop/cop.rb#151
def suppress_clobbering; end

class << self
  # @deprecated Use Registry.all
  #
  # source://rubocop//lib/rubocop/cop/cop.rb#44
  def all; end

  # source://rubocop//lib/rubocop/cop/cop.rb#29
  def joining_forces; end

  # @deprecated Use Registry.qualified_cop_name
  #
  # source://rubocop//lib/rubocop/cop/cop.rb#49
  def qualified_cop_name(name, origin); end

  # @deprecated Use Registry.global
  #
  # source://rubocop//lib/rubocop/cop/cop.rb#39
  def registry; end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/cop.rb#25
  def support_autocorrect?; end
end

end

# @deprecated # # source://rubocop//lib/rubocop/cop/cop.rb#17 class RuboCop::Cop::Cop::Correction < ::Struct

# source://rubocop//lib/rubocop/cop/cop.rb#18
def call(corrector); end

# Returns the value of attribute cop
#
# @return [Object] the current value of cop
def cop; end

# Sets the attribute cop
#
# @param value [Object] the value to set the attribute cop to.
# @return [Object] the newly set value
def cop=(_); end

# Returns the value of attribute lambda
#
# @return [Object] the current value of lambda
def lambda; end

# Sets the attribute lambda
#
# @param value [Object] the value to set the attribute lambda to.
# @return [Object] the newly set value
def lambda=(_); end

# Returns the value of attribute node
#
# @return [Object] the current value of node
def node; end

# Sets the attribute node
#
# @param value [Object] the value to set the attribute node to.
# @return [Object] the newly set value
def node=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# This class takes a source buffer and rewrite its source # based on the different correction rules supplied. # # Important! # The nodes modified by the corrections should be part of the # AST of the source_buffer. # # source://rubocop//lib/rubocop/cop/corrector.rb#11 class RuboCop::Cop::Corrector < ::Parser::Source::TreeRewriter

# corrector = Corrector.new(cop)
#
# @param source [Parser::Source::Buffer, or anything
# leading to one via `(processed_source.)buffer`]
# @return [Corrector] a new instance of Corrector
#
# source://rubocop//lib/rubocop/cop/corrector.rb#32
def initialize(source); end

# Removes `size` characters from the beginning of the given range.
# If `size` is greater than the size of `range`, the removed region can
# overrun the end of `range`.
#
# @param range [Parser::Source::Range, RuboCop::AST::Node] or node
# @param size [Integer]
#
# source://rubocop//lib/rubocop/cop/corrector.rb#63
def remove_leading(node_or_range, size); end

# Removes `size` characters prior to the source range.
#
# @param range [Parser::Source::Range, RuboCop::AST::Node] or node
# @param size [Integer]
#
# source://rubocop//lib/rubocop/cop/corrector.rb#51
def remove_preceding(node_or_range, size); end

# Removes `size` characters from the end of the given range.
# If `size` is greater than the size of `range`, the removed region can
# overrun the beginning of `range`.
#
# @param range [Parser::Source::Range, RuboCop::AST::Node] or node
# @param size [Integer]
#
# source://rubocop//lib/rubocop/cop/corrector.rb#75
def remove_trailing(node_or_range, size); end

# Legacy
#
# source://parser/3.3.0.5/lib/parser/source/tree_rewriter.rb#252
def rewrite; end

# Swaps sources at the given ranges.
#
# @param node_or_range1 [Parser::Source::Range, RuboCop::AST::Node]
# @param node_or_range2 [Parser::Source::Range, RuboCop::AST::Node]
#
# source://rubocop//lib/rubocop/cop/corrector.rb#85
def swap(node_or_range1, node_or_range2); end

private

# source://rubocop//lib/rubocop/cop/corrector.rb#119
def check_range_validity(node_or_range); end

# source://rubocop//lib/rubocop/cop/corrector.rb#104
def to_range(node_or_range); end

# source://rubocop//lib/rubocop/cop/corrector.rb#123
def validate_buffer(buffer); end

class << self
  # Duck typing for get to a ::Parser::Source::Buffer
  #
  # source://rubocop//lib/rubocop/cop/corrector.rb#15
  def source_buffer(source); end
end

end

# noop # # source://rubocop//lib/rubocop/cop/corrector.rb#12 RuboCop::Cop::Corrector::NOOP_CONSUMER = T.let(T.unsafe(nil), Proc)

# Common functionality for checking def nodes. # # source://rubocop//lib/rubocop/cop/mixin/def_node.rb#6 module RuboCop::Cop::DefNode

include ::RuboCop::Cop::VisibilityHelp
extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/def_node.rb#21
def non_public_modifier?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/def_node.rb#12
def non_public?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/def_node.rb#16
def preceding_non_public_modifier?(node); end

end

# Helpers for builtin documentation # # source://rubocop//lib/rubocop/cop/documentation.rb#6 module RuboCop::Cop::Documentation

private

# @api private
#
# source://rubocop//lib/rubocop/cop/documentation.rb#24
def base_url_for(cop_class, config); end

# @api private
#
# source://rubocop//lib/rubocop/cop/documentation.rb#34
def default_base_url; end

# @api private
#
# source://rubocop//lib/rubocop/cop/documentation.rb#10
def department_to_basename(department); end

# @api private
#
# source://rubocop//lib/rubocop/cop/documentation.rb#15
def url_for(cop_class, config = T.unsafe(nil)); end

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/cop/documentation.rb#24
  def base_url_for(cop_class, config); end

  # @api private
  #
  # source://rubocop//lib/rubocop/cop/documentation.rb#34
  def default_base_url; end

  # @api private
  #
  # source://rubocop//lib/rubocop/cop/documentation.rb#10
  def department_to_basename(department); end

  # @api private
  #
  # source://rubocop//lib/rubocop/cop/documentation.rb#15
  def url_for(cop_class, config = T.unsafe(nil)); end
end

end

# Common functionality for checking documentation. # # source://rubocop//lib/rubocop/cop/mixin/documentation_comment.rb#6 module RuboCop::Cop::DocumentationComment

extend ::RuboCop::AST::NodePattern::Macros

private

# source://rubocop//lib/rubocop/cop/mixin/documentation_comment.rb#47
def annotation_keywords; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/documentation_comment.rb#11
def documentation_comment?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/documentation_comment.rb#39
def interpreter_directive_comment?(comment); end

# The args node1 & node2 may represent a RuboCop::AST::Node
# or a Parser::Source::Comment. Both respond to #loc.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/documentation_comment.rb#31
def precede?(node1, node2); end

# The args node1 & node2 may represent a RuboCop::AST::Node
# or a Parser::Source::Comment. Both respond to #loc.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/documentation_comment.rb#25
def preceding_comment?(node1, node2); end

# source://rubocop//lib/rubocop/cop/mixin/documentation_comment.rb#35
def preceding_lines(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/documentation_comment.rb#43
def rubocop_directive_comment?(comment); end

end

# Common functionality for dealing with duplication. # # source://rubocop//lib/rubocop/cop/mixin/duplication.rb#6 module RuboCop::Cop::Duplication

private

# Returns the consecutive duplicates, leaving out the first instance of
# the duplicated elements.
#
# @param collection [Array] an array to return consecutive duplicates for
# @return [Array] the consecutive duplicates
#
# source://rubocop//lib/rubocop/cop/mixin/duplication.rb#31
def consecutive_duplicates(collection); end

# Returns all duplicates, including the first instance of the duplicated
# elements.
#
# @param collection [Array] an array to return duplicates for
# @return [Array] all the duplicates
#
# source://rubocop//lib/rubocop/cop/mixin/duplication.rb#22
def duplicates(collection); end

# Whether the `collection` contains any duplicates.
#
# @param collection [Array] an array to check for duplicates
# @return [Boolean] whether the array contains any duplicates
#
# source://rubocop//lib/rubocop/cop/mixin/duplication.rb#13
def duplicates?(collection); end

# Returns a hash of grouped duplicates. The key will be the first
# instance of the element, and  the value an `array` of the initial
# element and all duplicate instances.
#
# @param collection [Array] an array to group duplicates for
# @return [Array] the grouped duplicates
#
# source://rubocop//lib/rubocop/cop/mixin/duplication.rb#41
def grouped_duplicates(collection); end

end

# This class autocorrects ‘#each` enumeration to `for` iteration. # # source://rubocop//lib/rubocop/cop/correctors/each_to_for_corrector.rb#6 class RuboCop::Cop::EachToForCorrector

extend ::RuboCop::AST::NodePattern::Macros

# @return [EachToForCorrector] a new instance of EachToForCorrector
#
# source://rubocop//lib/rubocop/cop/correctors/each_to_for_corrector.rb#12
def initialize(block_node); end

# source://rubocop//lib/rubocop/cop/correctors/each_to_for_corrector.rb#18
def call(corrector); end

private

# Returns the value of attribute argument_node.
#
# source://rubocop//lib/rubocop/cop/correctors/each_to_for_corrector.rb#24
def argument_node; end

# Returns the value of attribute block_node.
#
# source://rubocop//lib/rubocop/cop/correctors/each_to_for_corrector.rb#24
def block_node; end

# Returns the value of attribute collection_node.
#
# source://rubocop//lib/rubocop/cop/correctors/each_to_for_corrector.rb#24
def collection_node; end

# source://rubocop//lib/rubocop/cop/correctors/each_to_for_corrector.rb#26
def correction; end

# source://rubocop//lib/rubocop/cop/correctors/each_to_for_corrector.rb#36
def offending_range; end

end

# source://rubocop//lib/rubocop/cop/correctors/each_to_for_corrector.rb#10 RuboCop::Cop::EachToForCorrector::CORRECTION_WITHOUT_ARGUMENTS = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/correctors/each_to_for_corrector.rb#9 RuboCop::Cop::EachToForCorrector::CORRECTION_WITH_ARGUMENTS = T.let(T.unsafe(nil), String)

# This class does empty line autocorrection # # source://rubocop//lib/rubocop/cop/correctors/empty_line_corrector.rb#6 class RuboCop::Cop::EmptyLineCorrector

class << self
  # source://rubocop//lib/rubocop/cop/correctors/empty_line_corrector.rb#8
  def correct(corrector, node); end

  # source://rubocop//lib/rubocop/cop/correctors/empty_line_corrector.rb#19
  def insert_before(corrector, node); end
end

end

# Common code for empty parameter cops. # # source://rubocop//lib/rubocop/cop/mixin/empty_parameter.rb#6 module RuboCop::Cop::EmptyParameter

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/empty_parameter.rb#12
def empty_arguments?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/mixin/empty_parameter.rb#16
def check(node); end

end

# Functions for checking the alignment of the ‘end` keyword. # # source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#6 module RuboCop::Cop::EndKeywordAlignment

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#60
def accept_end_kw_alignment?(end_loc); end

# source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#50
def add_offense_for_misalignment(node, align_with); end

# source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#19
def check_end_kw_alignment(node, align_ranges); end

# source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#15
def check_end_kw_in_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#75
def line_break_before_keyword?(whole_expression, rhs); end

# source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#35
def matching_ranges(end_loc, align_ranges); end

# source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#41
def start_line_range(node); end

# source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#65
def style_parameter_name; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#69
def variable_alignment?(whole_expression, rhs, end_alignment_style); end

end

# source://rubocop//lib/rubocop/cop/mixin/end_keyword_alignment.rb#10 RuboCop::Cop::EndKeywordAlignment::MSG = T.let(T.unsafe(nil), String)

# Common functionality for enforcing a specific superclass. # # IMPORTANT: RuboCop core depended on this module when it supported Rails department. # Rails department has been extracted to RuboCop Rails gem. # # It will not be updated to ‘RuboCop::Cop::Base` v1 API to maintain compatibility # with existing RuboCop Rails 2.8 or lower. # # @api private # @deprecated This module is deprecated and will be removed by RuboCop 2.0. # # source://rubocop//lib/rubocop/cop/mixin/enforce_superclass.rb#15 module RuboCop::Cop::EnforceSuperclass

# @api private
#
# source://rubocop-rails/2.24.1/lib/rubocop/cop/mixin/enforce_superclass.rb#19
def on_class(node); end

# @api private
#
# source://rubocop-rails/2.24.1/lib/rubocop/cop/mixin/enforce_superclass.rb#25
def on_send(node); end

private

# source://rubocop-rails/2.24.1/lib/rubocop/cop/mixin/enforce_superclass.rb#33
def register_offense(offense_node); end

class << self
  # @api private
  # @private
  #
  # source://rubocop-rails/2.24.1/lib/rubocop/cop/mixin/enforce_superclass.rb#7
  def included(base); end
end

end

# Common functionality for checking for a line break before the first # element in a multi-line collection. # # source://rubocop//lib/rubocop/cop/mixin/first_element_line_break.rb#7 module RuboCop::Cop::FirstElementLineBreak

private

# source://rubocop//lib/rubocop/cop/mixin/first_element_line_break.rb#23
def check_children_line_break(node, children, start = T.unsafe(nil), ignore_last: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/first_element_line_break.rb#10
def check_method_line_break(node, children, ignore_last: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/first_element_line_break.rb#37
def first_by_line(nodes); end

# source://rubocop//lib/rubocop/cop/mixin/first_element_line_break.rb#41
def last_line(nodes, ignore_last:); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/first_element_line_break.rb#18
def method_uses_parens?(node, limit); end

end

# This class autocorrects ‘for` iteration to `#each` enumeration. # # source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#6 class RuboCop::Cop::ForToEachCorrector

extend ::RuboCop::AST::NodePattern::Macros

# @return [ForToEachCorrector] a new instance of ForToEachCorrector
#
# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#11
def initialize(for_node); end

# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#17
def call(corrector); end

private

# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#57
def collection_end; end

# Returns the value of attribute collection_node.
#
# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#25
def collection_node; end

# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#31
def collection_source; end

# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#27
def correction; end

# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#45
def end_range; end

# Returns the value of attribute for_node.
#
# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#25
def for_node; end

# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#53
def keyword_begin; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#39
def requires_parentheses?; end

# Returns the value of attribute variable_node.
#
# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#25
def variable_node; end

end

# source://rubocop//lib/rubocop/cop/correctors/for_to_each_corrector.rb#9 RuboCop::Cop::ForToEachCorrector::CORRECTION = T.let(T.unsafe(nil), String)

# A scaffold for concrete forces. # # source://rubocop//lib/rubocop/cop/force.rb#6 class RuboCop::Cop::Force

# @return [Force] a new instance of Force
#
# source://rubocop//lib/rubocop/cop/force.rb#22
def initialize(cops); end

# Returns the value of attribute cops.
#
# source://rubocop//lib/rubocop/cop/force.rb#7
def cops; end

# source://rubocop//lib/rubocop/cop/force.rb#38
def investigate(_processed_source); end

# source://rubocop//lib/rubocop/cop/force.rb#26
def name; end

# source://rubocop//lib/rubocop/cop/force.rb#30
def run_hook(method_name, *args); end

class << self
  # source://rubocop//lib/rubocop/cop/force.rb#9
  def all; end

  # source://rubocop//lib/rubocop/cop/force.rb#18
  def force_name; end

  # @private
  #
  # source://rubocop//lib/rubocop/cop/force.rb#13
  def inherited(subclass); end
end

end

# Common functionality for dealing with frozen string literals. # # source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#6 module RuboCop::Cop::FrozenStringLiteral

private

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#35
def frozen_heredoc?(node); end

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#21
def frozen_string_literal?(node); end

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#15
def frozen_string_literal_comment_exists?; end

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#66
def frozen_string_literal_specified?; end

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#60
def frozen_string_literals_disabled?; end

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#41
def frozen_string_literals_enabled?; end

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#76
def leading_comment_lines; end

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#72
def leading_magic_comments; end

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#31
def uninterpolated_string?(node); end

class << self
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#15
  def frozen_string_literal_comment_exists?; end
end

end

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#9 RuboCop::Cop::FrozenStringLiteral::FROZEN_STRING_LITERAL = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#10 RuboCop::Cop::FrozenStringLiteral::FROZEN_STRING_LITERAL_ENABLED = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/frozen_string_literal.rb#11 RuboCop::Cop::FrozenStringLiteral::FROZEN_STRING_LITERAL_TYPES_RUBY27 = T.let(T.unsafe(nil), Array)

# Common functionality for checking gem declarations. # # source://rubocop//lib/rubocop/cop/mixin/gem_declaration.rb#6 module RuboCop::Cop::GemDeclaration

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/gem_declaration.rb#10
def gem_declaration?(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#5 module RuboCop::Cop::Gemspec; end

# Enforce that gem dependency version specifications or a commit reference (branch, # ref, or tag) are either required or forbidden. # # @example EnforcedStyle: required (default) # # # bad # Gem::Specification.new do |spec| # spec.add_dependency ‘parser’ # end # # # bad # Gem::Specification.new do |spec| # spec.add_development_dependency ‘parser’ # end # # # good # Gem::Specification.new do |spec| # spec.add_dependency ‘parser’, ‘>= 2.3.3.1’, ‘< 3.0’ # end # # # good # Gem::Specification.new do |spec| # spec.add_development_dependency ‘parser’, ‘>= 2.3.3.1’, ‘< 3.0’ # end # @example EnforcedStyle: forbidden # # # bad # Gem::Specification.new do |spec| # spec.add_dependency ‘parser’, ‘>= 2.3.3.1’, ‘< 3.0’ # end # # # bad # Gem::Specification.new do |spec| # spec.add_development_dependency ‘parser’, ‘>= 2.3.3.1’, ‘< 3.0’ # end # # # good # Gem::Specification.new do |spec| # spec.add_dependency ‘parser’ # end # # # good # Gem::Specification.new do |spec| # spec.add_development_dependency ‘parser’ # end # # source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#53 class RuboCop::Cop::Gemspec::DependencyVersion < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::GemspecHelp

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#67
def add_dependency_method_declaration?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#78
def includes_commit_reference?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#73
def includes_version_specification?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#82
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#120
def add_dependency_method?(method_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#96
def allowed_gem?(node); end

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#100
def allowed_gems; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#134
def forbidden_offense?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#140
def forbidden_style?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#114
def match_block_variable_name?(receiver_name); end

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#104
def message(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#124
def offense?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#128
def required_offense?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#144
def required_style?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#148
def version_specification?(expression); end

end

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#61 RuboCop::Cop::Gemspec::DependencyVersion::ADD_DEPENDENCY_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#58 RuboCop::Cop::Gemspec::DependencyVersion::FORBIDDEN_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#57 RuboCop::Cop::Gemspec::DependencyVersion::REQUIRED_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#64 RuboCop::Cop::Gemspec::DependencyVersion::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/gemspec/dependency_version.rb#59 RuboCop::Cop::Gemspec::DependencyVersion::VERSION_SPECIFICATION_REGEX = T.let(T.unsafe(nil), Regexp)

# Checks that deprecated attributes are not set in a gemspec file. # Removing deprecated attributes allows the user to receive smaller packed gems. # # @example # # # bad # Gem::Specification.new do |spec| # spec.name = ‘your_cool_gem_name’ # spec.test_files = Dir.glob(‘test/*/’) # end # # # bad # Gem::Specification.new do |spec| # spec.name = ‘your_cool_gem_name’ # spec.test_files += Dir.glob(‘test/*/’) # end # # # good # Gem::Specification.new do |spec| # spec.name = ‘your_cool_gem_name’ # end # # source://rubocop//lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb#28 class RuboCop::Cop::Gemspec::DeprecatedAttributeAssignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb#35
def gem_specification(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb#43
def on_block(block_node); end

private

# source://rubocop//lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb#86
def format_message_from; end

# source://rubocop//lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb#63
def node_and_method_name(node, attribute); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb#72
def use_deprecated_attributes?(node, block_parameter); end

end

# source://rubocop//lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb#32 RuboCop::Cop::Gemspec::DeprecatedAttributeAssignment::MSG = T.let(T.unsafe(nil), String)

# Enforce that development dependencies for a gem are specified in # ‘Gemfile`, rather than in the `gemspec` using # `add_development_dependency`. Alternatively, using `EnforcedStyle: # gemspec`, enforce that all dependencies are specified in `gemspec`, # rather than in `Gemfile`. # # @example EnforcedStyle: Gemfile (default) # # Specify runtime dependencies in your gemspec, # # but all other dependencies in your Gemfile. # # # bad # # example.gemspec # s.add_development_dependency “foo” # # # good # # Gemfile # gem “foo” # # # good # # gems.rb # gem “foo” # # # good (with AllowedGems: [“bar”]) # # example.gemspec # s.add_development_dependency “bar” # @example EnforcedStyle: gems.rb # # Specify runtime dependencies in your gemspec, # # but all other dependencies in your Gemfile. # # # # Identical to `EnforcedStyle: Gemfile`, but with a different error message. # # Rely on Bundler/GemFilename to enforce the use of `Gemfile` vs `gems.rb`. # # # bad # # example.gemspec # s.add_development_dependency “foo” # # # good # # Gemfile # gem “foo” # # # good # # gems.rb # gem “foo” # # # good (with AllowedGems: [“bar”]) # # example.gemspec # s.add_development_dependency “bar” # @example EnforcedStyle: gemspec # # Specify all dependencies in your gemspec. # # # bad # # Gemfile # gem “foo” # # # good # # example.gemspec # s.add_development_dependency “foo” # # # good (with AllowedGems: [“bar”]) # # Gemfile # gem “bar” # # source://rubocop//lib/rubocop/cop/gemspec/development_dependencies.rb#70 class RuboCop::Cop::Gemspec::DevelopmentDependencies < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle

# source://rubocop//lib/rubocop/cop/gemspec/development_dependencies.rb#77
def add_development_dependency?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/gemspec/development_dependencies.rb#82
def gem?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/gemspec/development_dependencies.rb#86
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/development_dependencies.rb#97
def forbidden_gem?(gem_name); end

# source://rubocop//lib/rubocop/cop/gemspec/development_dependencies.rb#101
def message(_range); end

end

# source://rubocop//lib/rubocop/cop/gemspec/development_dependencies.rb#73 RuboCop::Cop::Gemspec::DevelopmentDependencies::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/gemspec/development_dependencies.rb#74 RuboCop::Cop::Gemspec::DevelopmentDependencies::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# An attribute assignment method calls should be listed only once # in a gemspec. # # Assigning to an attribute with the same name using ‘spec.foo =` will be # an unintended usage. On the other hand, duplication of methods such # as `spec.requirements`, `spec.add_runtime_dependency`, and others are # permitted because it is the intended use of appending values. # # @example # # bad # Gem::Specification.new do |spec| # spec.name = ’rubocop’ # spec.name = ‘rubocop2’ # end # # # good # Gem::Specification.new do |spec| # spec.name = ‘rubocop’ # end # # # good # Gem::Specification.new do |spec| # spec.requirements << ‘libmagick, v6.0’ # spec.requirements << ‘A good graphics card’ # end # # # good # Gem::Specification.new do |spec| # spec.add_runtime_dependency(‘parallel’, ‘~> 1.10’) # spec.add_runtime_dependency(‘parser’, ‘>= 2.3.3.1’, ‘< 3.0’) # end # # source://rubocop//lib/rubocop/cop/gemspec/duplicated_assignment.rb#37 class RuboCop::Cop::Gemspec::DuplicatedAssignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::GemspecHelp

# source://rubocop//lib/rubocop/cop/gemspec/duplicated_assignment.rb#45
def assignment_method_declarations(param0); end

# source://rubocop//lib/rubocop/cop/gemspec/duplicated_assignment.rb#50
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/gemspec/duplicated_assignment.rb#68
def duplicated_assignment_method_nodes; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/duplicated_assignment.rb#62
def match_block_variable_name?(receiver_name); end

# source://rubocop//lib/rubocop/cop/gemspec/duplicated_assignment.rb#76
def register_offense(node, assignment, line_of_first_occurrence); end

end

# source://rubocop//lib/rubocop/cop/gemspec/duplicated_assignment.rb#41 RuboCop::Cop::Gemspec::DuplicatedAssignment::MSG = T.let(T.unsafe(nil), String)

# Dependencies in the gemspec should be alphabetically sorted. # # @example # # bad # spec.add_dependency ‘rubocop’ # spec.add_dependency ‘rspec’ # # # good # spec.add_dependency ‘rspec’ # spec.add_dependency ‘rubocop’ # # # good # spec.add_dependency ‘rubocop’ # # spec.add_dependency ‘rspec’ # # # bad # spec.add_development_dependency ‘rubocop’ # spec.add_development_dependency ‘rspec’ # # # good # spec.add_development_dependency ‘rspec’ # spec.add_development_dependency ‘rubocop’ # # # good # spec.add_development_dependency ‘rubocop’ # # spec.add_development_dependency ‘rspec’ # # # bad # spec.add_runtime_dependency ‘rubocop’ # spec.add_runtime_dependency ‘rspec’ # # # good # spec.add_runtime_dependency ‘rspec’ # spec.add_runtime_dependency ‘rubocop’ # # # good # spec.add_runtime_dependency ‘rubocop’ # # spec.add_runtime_dependency ‘rspec’ # @example TreatCommentsAsGroupSeparators: true (default) # # good # # For code quality # spec.add_dependency ‘rubocop’ # # For tests # spec.add_dependency ‘rspec’ # @example TreatCommentsAsGroupSeparators: false # # bad # # For code quality # spec.add_dependency ‘rubocop’ # # For tests # spec.add_dependency ‘rspec’ # # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#61 class RuboCop::Cop::Gemspec::OrderedDependencies < ::RuboCop::Cop::Base

include ::RuboCop::Cop::OrderedGemNode
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#95
def dependency_declarations(param0); end

# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#69
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#90
def get_dependency_name(node); end

# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#84
def previous_declaration(node); end

end

# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#65 RuboCop::Cop::Gemspec::OrderedDependencies::MSG = T.let(T.unsafe(nil), String)

# Requires a gemspec to have ‘rubygems_mfa_required` metadata set. # # This setting tells RubyGems that MFA (Multi-Factor Authentication) is # required for accounts to be able perform privileged operations, such as # (see RubyGems’ documentation for the full list of privileged # operations): # # * ‘gem push` # * `gem yank` # * `gem owner –add/remove` # * adding or removing owners using gem ownership page # # This helps make your gem more secure, as users can be more # confident that gem updates were pushed by maintainers. # # @example # # bad # Gem::Specification.new do |spec| # # no `rubygems_mfa_required` metadata specified # end # # # good # Gem::Specification.new do |spec| # spec.metadata = { # ’rubygems_mfa_required’ => ‘true’ # } # end # # # good # Gem::Specification.new do |spec| # spec.metadata = ‘true’ # end # # # bad # Gem::Specification.new do |spec| # spec.metadata = { # ‘rubygems_mfa_required’ => ‘false’ # } # end # # # good # Gem::Specification.new do |spec| # spec.metadata = { # ‘rubygems_mfa_required’ => ‘true’ # } # end # # # bad # Gem::Specification.new do |spec| # spec.metadata = ‘false’ # end # # # good # Gem::Specification.new do |spec| # spec.metadata = ‘true’ # end # # source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#63 class RuboCop::Cop::Gemspec::RequireMFA < ::RuboCop::Cop::Base

include ::RuboCop::Cop::GemspecHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#70
def metadata(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#87
def on_block(node); end

# source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#78
def rubygems_mfa_required(param0); end

# source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#83
def true_string?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#115
def autocorrect(corrector, node, block_var, metadata); end

# source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#139
def change_value(corrector, value); end

# source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#125
def correct_metadata(corrector, metadata); end

# source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#133
def insert_mfa_required(corrector, node, block_var); end

# source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#108
def mfa_value(metadata_value); end

end

# source://rubocop//lib/rubocop/cop/gemspec/require_mfa.rb#67 RuboCop::Cop::Gemspec::RequireMFA::MSG = T.let(T.unsafe(nil), String)

# Checks that ‘required_ruby_version` in a gemspec file is set to a valid # value (non-blank) and matches `TargetRubyVersion` as set in RuboCop’s # configuration for the gem. # # This ensures that RuboCop is using the same Ruby version as the gem. # # @example # # When ‘TargetRubyVersion` of .rubocop.yml is `2.5`. # # # bad # Gem::Specification.new do |spec| # # no `required_ruby_version` specified # end # # # bad # Gem::Specification.new do |spec| # spec.required_ruby_version = ’>= 2.4.0’ # end # # # bad # Gem::Specification.new do |spec| # spec.required_ruby_version = ‘>= 2.6.0’ # end # # # bad # Gem::Specification.new do |spec| # spec.required_ruby_version = ” # end # # # good # Gem::Specification.new do |spec| # spec.required_ruby_version = ‘>= 2.5.0’ # end # # # good # Gem::Specification.new do |spec| # spec.required_ruby_version = ‘>= 2.5’ # end # # # accepted but not recommended # Gem::Specification.new do |spec| # spec.required_ruby_version = [‘>= 2.5.0’, ‘< 2.7.0’] # end # # # accepted but not recommended, since # # Ruby does not really follow semantic versioning # Gem::Specification.new do |spec| # spec.required_ruby_version = ‘~> 2.5’ # end # # source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#55 class RuboCop::Cop::Gemspec::RequiredRubyVersion < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#70
def defined_ruby_version(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#78
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#84
def on_send(node); end

# source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#65
def required_ruby_version?(param0); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#96
def dynamic_version?(node); end

# source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#102
def extract_ruby_version(required_ruby_version); end

# source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#120
def not_equal_message(required_ruby_version, target_ruby_version); end

end

# source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#62 RuboCop::Cop::Gemspec::RequiredRubyVersion::MISSING_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#59 RuboCop::Cop::Gemspec::RequiredRubyVersion::NOT_EQUAL_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/gemspec/required_ruby_version.rb#58 RuboCop::Cop::Gemspec::RequiredRubyVersion::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks that ‘RUBY_VERSION` constant is not used in gemspec. # Using `RUBY_VERSION` is dangerous because value of the # constant is determined by `rake release`. # It’s possible to have dependency based on ruby version used # to execute ‘rake release` and not user’s ruby version. # # @example # # # bad # Gem::Specification.new do |spec| # if RUBY_VERSION >= ‘3.0’ # spec.add_runtime_dependency ‘gem_a’ # else # spec.add_runtime_dependency ‘gem_b’ # end # end # # # good # Gem::Specification.new do |spec| # spec.add_runtime_dependency ‘gem_a’ # end # # source://rubocop//lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb#28 class RuboCop::Cop::Gemspec::RubyVersionGlobalsUsage < ::RuboCop::Cop::Base

include ::RuboCop::Cop::GemspecHelp

# source://rubocop//lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb#36
def on_const(node); end

# source://rubocop//lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb#34
def ruby_version?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb#44
def gem_spec_with_ruby_version?(node); end

end

# source://rubocop//lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb#31 RuboCop::Cop::Gemspec::RubyVersionGlobalsUsage::MSG = T.let(T.unsafe(nil), String)

# Common functionality for checking gem declarations. # # source://rubocop//lib/rubocop/cop/mixin/gemspec_help.rb#6 module RuboCop::Cop::GemspecHelp

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/gemspec_help.rb#20
def gem_specification(param0); end

# source://rubocop//lib/rubocop/cop/mixin/gemspec_help.rb#10
def gem_specification?(param0 = T.unsafe(nil)); end

end

# Source and spec generator for new cops # # This generator will take a cop name and generate a source file # and spec file when given a valid qualified cop name. # # @api private # # source://rubocop//lib/rubocop/cop/generator.rb#10 class RuboCop::Cop::Generator

# @api private
# @raise [ArgumentError]
# @return [Generator] a new instance of Generator
#
# source://rubocop//lib/rubocop/cop/generator.rb#113
def initialize(name, output: T.unsafe(nil)); end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#133
def inject_config(config_file_path: T.unsafe(nil), version_added: T.unsafe(nil)); end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#129
def inject_require(root_file_path: T.unsafe(nil)); end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#146
def todo; end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#121
def write_source; end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#125
def write_spec; end

private

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#160
def badge; end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#183
def generate(template); end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#175
def generated_source; end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#179
def generated_spec; end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#160
def output; end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#208
def snake_case(camel_case_string); end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#198
def source_path; end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#188
def spec_path; end

# @api private
#
# source://rubocop//lib/rubocop/cop/generator.rb#162
def write_unless_file_exists(path, contents); end

end

# @api private # # source://rubocop//lib/rubocop/cop/generator.rb#109 RuboCop::Cop::Generator::CONFIGURATION_ADDED_MESSAGE = T.let(T.unsafe(nil), String)

# A class that injects a require directive into the root RuboCop file. # It looks for other directives that require files in the same (cop) # namespace and injects the provided one in alpha # # source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#9 class RuboCop::Cop::Generator::ConfigurationInjector

# @return [ConfigurationInjector] a new instance of ConfigurationInjector
#
# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#17
def initialize(configuration_file_path:, badge:, version_added: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#24
def inject; end

private

# Returns the value of attribute badge.
#
# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#39
def badge; end

# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#41
def configuration_entries; end

# Returns the value of attribute configuration_file_path.
#
# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#39
def configuration_file_path; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#59
def cop_name_line?(yaml); end

# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#49
def find_target_line; end

# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#45
def new_configuration_entry; end

# Returns the value of attribute output.
#
# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#39
def output; end

# Returns the value of attribute version_added.
#
# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#39
def version_added; end

end

# source://rubocop//lib/rubocop/cop/generator/configuration_injector.rb#10 RuboCop::Cop::Generator::ConfigurationInjector::TEMPLATE = T.let(T.unsafe(nil), String)

# A class that injects a require directive into the root RuboCop file. # It looks for other directives that require files in the same (cop) # namespace and injects the provided one in alpha # # source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#9 class RuboCop::Cop::Generator::RequireFileInjector

# @return [RequireFileInjector] a new instance of RequireFileInjector
#
# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#12
def initialize(source_path:, root_file_path:, output: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#19
def inject; end

private

# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#64
def injectable_require_directive; end

# Returns the value of attribute output.
#
# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#29
def output; end

# Returns the value of attribute require_entries.
#
# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#29
def require_entries; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#31
def require_exists?; end

# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#68
def require_path; end

# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#58
def require_path_fragments(require_directive); end

# Returns the value of attribute root_file_path.
#
# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#29
def root_file_path; end

# Returns the value of attribute source_path.
#
# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#29
def source_path; end

# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#39
def target_line; end

# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#35
def updated_directives; end

end

# source://rubocop//lib/rubocop/cop/generator/require_file_injector.rb#10 RuboCop::Cop::Generator::RequireFileInjector::REQUIRE_PATH = T.let(T.unsafe(nil), Regexp)

# @api private # # source://rubocop//lib/rubocop/cop/generator.rb#11 RuboCop::Cop::Generator::SOURCE_TEMPLATE = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/cop/generator.rb#85 RuboCop::Cop::Generator::SPEC_TEMPLATE = T.let(T.unsafe(nil), String)

# Common functionality for checking hash alignment. # # source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#6 module RuboCop::Cop::HashAlignmentStyles; end

# Handles calculation of deltas when the enforced style is ‘key’. # # source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#8 class RuboCop::Cop::HashAlignmentStyles::KeyAlignment

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#9
def checkable_layout?(_node); end

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#20
def deltas(first_pair, current_pair); end

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#13
def deltas_for_first_pair(first_pair, _node); end

private

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#34
def separator_delta(pair); end

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#45
def value_delta(pair); end

end

# Handles calculation of deltas for ‘kwsplat` nodes. # This is a special case that just ensures the kwsplat is aligned with the rest of the hash # since a `kwsplat` does not have a key, separator or value. # # source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#145 class RuboCop::Cop::HashAlignmentStyles::KeywordSplatAlignment

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#146
def deltas(first_pair, current_pair); end

end

# Handles calculation of deltas when the enforced style is ‘separator’. # # source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#120 class RuboCop::Cop::HashAlignmentStyles::SeparatorAlignment

include ::RuboCop::Cop::HashAlignmentStyles::ValueAlignment

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#123
def deltas_for_first_pair(*_nodes); end

private

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#133
def hash_rocket_delta(first_pair, current_pair); end

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#129
def key_delta(first_pair, current_pair); end

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#137
def value_delta(first_pair, current_pair); end

end

# Handles calculation of deltas when the enforced style is ‘table’. # # source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#81 class RuboCop::Cop::HashAlignmentStyles::TableAlignment

include ::RuboCop::Cop::HashAlignmentStyles::ValueAlignment

# @return [TableAlignment] a new instance of TableAlignment
#
# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#84
def initialize; end

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#88
def deltas_for_first_pair(first_pair, node); end

private

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#106
def hash_rocket_delta(first_pair, current_pair); end

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#102
def key_delta(first_pair, current_pair); end

# Returns the value of attribute max_key_width.
#
# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#100
def max_key_width; end

# Sets the attribute max_key_width
#
# @param value the value to set the attribute max_key_width to.
#
# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#100
def max_key_width=(_arg0); end

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#110
def value_delta(first_pair, current_pair); end

end

# Common functionality for checking alignment of hash values. # # source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#56 module RuboCop::Cop::HashAlignmentStyles::ValueAlignment

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#57
def checkable_layout?(node); end

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#61
def deltas(first_pair, current_pair); end

private

# source://rubocop//lib/rubocop/cop/mixin/hash_alignment_styles.rb#71
def separator_delta(first_pair, current_pair, key_delta); end

end

# This module checks for Ruby 3.1’s hash value omission syntax. # # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#7 module RuboCop::Cop::HashShorthandSyntax

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#14
def on_hash_for_mixed_shorthand(hash_node); end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#26
def on_pair(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#125
def brackets?(method_dispatch_node); end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#155
def breakdown_value_types_of_hash(hash_node); end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#102
def def_node_that_require_parentheses(node); end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#179
def each_omittable_value_pair(hash_value_type_breakdown, &block); end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#175
def each_omitted_value_pair(hash_value_type_breakdown, &block); end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#80
def enforced_shorthand_syntax; end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#117
def find_ancestor_method_dispatch_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#167
def hash_with_mixed_shorthand_syntax?(hash_value_type_breakdown); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#171
def hash_with_values_that_cant_be_omitted?(hash_value_type_breakdown); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#74
def ignore_hash_shorthand_syntax?(pair_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#69
def ignore_mixed_hash_shorthand_syntax?(hash_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#140
def last_expression?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#148
def method_dispatch_as_argument?(method_dispatch_node); end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#183
def mixed_shorthand_syntax_check(hash_value_type_breakdown); end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#199
def no_mixed_shorthand_syntax_check(hash_value_type_breakdown); end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#49
def register_offense(node, message, replacement); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#84
def require_hash_value?(hash_key_source, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#93
def require_hash_value_for_around_hash_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#129
def use_element_of_hash_literal_as_receiver?(ancestor, parent); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#134
def use_modifier_form_without_parenthesized_method_call?(ancestor); end

end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#12 RuboCop::Cop::HashShorthandSyntax::DO_NOT_MIX_EXPLICIT_VALUE_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#10 RuboCop::Cop::HashShorthandSyntax::DO_NOT_MIX_MSG_PREFIX = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#11 RuboCop::Cop::HashShorthandSyntax::DO_NOT_MIX_OMIT_VALUE_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#209 class RuboCop::Cop::HashShorthandSyntax::DefNode < ::Struct

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#218
def first_argument; end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#222
def last_argument; end

# Returns the value of attribute node
#
# @return [Object] the current value of node
def node; end

# Sets the attribute node
#
# @param value [Object] the value to set the attribute node to.
# @return [Object] the newly set value
def node=(_); end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#210
def selector; end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#9 RuboCop::Cop::HashShorthandSyntax::EXPLICIT_HASH_VALUE_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#8 RuboCop::Cop::HashShorthandSyntax::OMIT_HASH_VALUE_MSG = T.let(T.unsafe(nil), String)

# Common functionality for Style/HashTransformKeys and # Style/HashTransformValues # # source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#7 module RuboCop::Cop::HashTransformMethod

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#13
def array_receiver?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#17
def on_block(node); end

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#34
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#27
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#108
def execute_correction(corrector, node, correction); end

# @abstract
# @raise [NotImplementedError]
# @return [Captures]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#83
def extract_captures(_match); end

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#60
def handle_possible_offense(node, match, match_desc); end

# @abstract
# @raise [NotImplementedError]
# @return [String]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#90
def new_method_name; end

# @abstract Implemented with `def_node_matcher`
# @raise [NotImplementedError]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#41
def on_bad_each_with_object(_node); end

# @abstract Implemented with `def_node_matcher`
# @raise [NotImplementedError]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#46
def on_bad_hash_brackets_map(_node); end

# @abstract Implemented with `def_node_matcher`
# @raise [NotImplementedError]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#51
def on_bad_map_to_h(_node); end

# @abstract Implemented with `def_node_matcher`
# @raise [NotImplementedError]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#56
def on_bad_to_h(_node); end

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#94
def prepare_correction(node); end

end

# Internal helper class to hold autocorrect data # # source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#136 class RuboCop::Cop::HashTransformMethod::Autocorrection < ::Struct

# Returns the value of attribute block_node
#
# @return [Object] the current value of block_node
def block_node; end

# Sets the attribute block_node
#
# @param value [Object] the value to set the attribute block_node to.
# @return [Object] the newly set value
def block_node=(_); end

# Returns the value of attribute leading
#
# @return [Object] the current value of leading
def leading; end

# Sets the attribute leading
#
# @param value [Object] the value to set the attribute leading to.
# @return [Object] the newly set value
def leading=(_); end

# Returns the value of attribute match
#
# @return [Object] the current value of match
def match; end

# Sets the attribute match
#
# @param value [Object] the value to set the attribute match to.
# @return [Object] the newly set value
def match=(_); end

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#177
def set_new_arg_name(transformed_argname, corrector); end

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#181
def set_new_body_expression(transforming_body_expr, corrector); end

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#167
def set_new_method_name(new_method_name, corrector); end

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#161
def strip_prefix_and_suffix(node, corrector); end

# Returns the value of attribute trailing
#
# @return [Object] the current value of trailing
def trailing; end

# Sets the attribute trailing
#
# @param value [Object] the value to set the attribute trailing to.
# @return [Object] the newly set value
def trailing=(_); end

class << self
  def [](*_arg0); end

  # source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#137
  def from_each_with_object(node, match); end

  # source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#141
  def from_hash_brackets_map(node, match); end

  # source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#145
  def from_map_to_h(node, match); end

  # source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#157
  def from_to_h(node, match); end

  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# Internal helper class to hold match data # # source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#118 class RuboCop::Cop::HashTransformMethod::Captures < ::Struct

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#119
def noop_transformation?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#124
def transformation_uses_both_args?; end

# Returns the value of attribute transformed_argname
#
# @return [Object] the current value of transformed_argname
def transformed_argname; end

# Sets the attribute transformed_argname
#
# @param value [Object] the value to set the attribute transformed_argname to.
# @return [Object] the newly set value
def transformed_argname=(_); end

# Returns the value of attribute transforming_body_expr
#
# @return [Object] the current value of transforming_body_expr
def transforming_body_expr; end

# Sets the attribute transforming_body_expr
#
# @param value [Object] the value to set the attribute transforming_body_expr to.
# @return [Object] the newly set value
def transforming_body_expr=(_); end

# Returns the value of attribute unchanged_body_expr
#
# @return [Object] the current value of unchanged_body_expr
def unchanged_body_expr; end

# Sets the attribute unchanged_body_expr
#
# @param value [Object] the value to set the attribute unchanged_body_expr to.
# @return [Object] the newly set value
def unchanged_body_expr=(_); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#128
def use_transformed_argname?; end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# source://rubocop//lib/rubocop/cop/mixin/hash_transform_method.rb#10 RuboCop::Cop::HashTransformMethod::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Common functionality for working with heredoc strings. # # source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#6 module RuboCop::Cop::Heredoc

# source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#9
def on_dstr(node); end

# @raise [NotImplementedError]
#
# source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#17
def on_heredoc(_node); end

# source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#9
def on_str(node); end

# source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#9
def on_xstr(node); end

private

# source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#28
def delimiter_string(node); end

# source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#34
def heredoc_type(node); end

# source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#23
def indent_level(str); end

end

# source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#7 RuboCop::Cop::Heredoc::OPENING_DELIMITER = T.let(T.unsafe(nil), Regexp)

# This class autocorrects ‘if…then` structures to a multiline `if` statement # # source://rubocop//lib/rubocop/cop/correctors/if_then_corrector.rb#6 class RuboCop::Cop::IfThenCorrector

# @return [IfThenCorrector] a new instance of IfThenCorrector
#
# source://rubocop//lib/rubocop/cop/correctors/if_then_corrector.rb#9
def initialize(if_node, indentation: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/correctors/if_then_corrector.rb#14
def call(corrector); end

private

# source://rubocop//lib/rubocop/cop/correctors/if_then_corrector.rb#50
def branch_body_indentation; end

# Returns the value of attribute if_node.
#
# source://rubocop//lib/rubocop/cop/correctors/if_then_corrector.rb#20
def if_node; end

# Returns the value of attribute indentation.
#
# source://rubocop//lib/rubocop/cop/correctors/if_then_corrector.rb#20
def indentation; end

# source://rubocop//lib/rubocop/cop/correctors/if_then_corrector.rb#22
def replacement(node = T.unsafe(nil), indentation = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/correctors/if_then_corrector.rb#36
def rewrite_else_branch(else_branch, indentation); end

end

# source://rubocop//lib/rubocop/cop/correctors/if_then_corrector.rb#7 RuboCop::Cop::IfThenCorrector::DEFAULT_INDENTATION_WIDTH = T.let(T.unsafe(nil), Integer)

# @deprecated IgnoredMethods class has been replaced with AllowedMethods. # # source://rubocop//lib/rubocop/cop/mixin/allowed_methods.rb#40 RuboCop::Cop::IgnoredMethods = RuboCop::Cop::AllowedMethods

# Handles adding and checking ignored nodes. # # source://rubocop//lib/rubocop/cop/ignored_node.rb#6 module RuboCop::Cop::IgnoredNode

# source://rubocop//lib/rubocop/cop/ignored_node.rb#7
def ignore_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/ignored_node.rb#24
def ignored_node?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/ignored_node.rb#11
def part_of_ignored_node?(node); end

private

# source://rubocop//lib/rubocop/cop/ignored_node.rb#31
def ignored_nodes; end

end

# @deprecated IgnoredPattern class has been replaced with AllowedPattern. # # source://rubocop//lib/rubocop/cop/mixin/allowed_pattern.rb#54 RuboCop::Cop::IgnoredPattern = RuboCop::Cop::AllowedPattern

# Common functionality for checking integer nodes. # # source://rubocop//lib/rubocop/cop/mixin/integer_node.rb#6 module RuboCop::Cop::IntegerNode

private

# source://rubocop//lib/rubocop/cop/mixin/integer_node.rb#9
def integer_part(node); end

end

# Common functionality for working with string interpolations. # # @abstract Subclasses are expected to implement {#on_interpolation}. # # source://rubocop//lib/rubocop/cop/mixin/interpolation.rb#8 module RuboCop::Cop::Interpolation

# source://rubocop//lib/rubocop/cop/mixin/interpolation.rb#9
def on_dstr(node); end

# source://rubocop//lib/rubocop/cop/mixin/interpolation.rb#9
def on_dsym(node); end

# source://rubocop//lib/rubocop/cop/mixin/interpolation.rb#17
def on_node_with_interpolations(node); end

# source://rubocop//lib/rubocop/cop/mixin/interpolation.rb#9
def on_regexp(node); end

# source://rubocop//lib/rubocop/cop/mixin/interpolation.rb#9
def on_xstr(node); end

end

# This class autocorrects lambda literal to method notation. # # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#6 class RuboCop::Cop::LambdaLiteralToMethodCorrector

# @return [LambdaLiteralToMethodCorrector] a new instance of LambdaLiteralToMethodCorrector
#
# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#7
def initialize(block_node); end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#13
def call(corrector); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#118
def arg_to_unparenthesized_call?; end

# Returns the value of attribute arguments.
#
# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#34
def arguments; end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#102
def arguments_begin_pos; end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#98
def arguments_end_pos; end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#110
def block_begin; end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#106
def block_end; end

# Returns the value of attribute block_node.
#
# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#34
def block_node; end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#59
def insert_arguments(corrector); end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#43
def insert_separating_space(corrector); end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#88
def lambda_arg_string; end

# Returns the value of attribute method.
#
# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#34
def method; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#92
def needs_separating_space?; end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#53
def remove_arguments(corrector); end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#66
def remove_leading_whitespace(corrector); end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#74
def remove_trailing_whitespace(corrector); end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#36
def remove_unparenthesized_whitespace(corrector); end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#79
def replace_delimiters(corrector); end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#49
def replace_selector(corrector); end

# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#114
def selector_end; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#134
def separating_space?; end

end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#5 module RuboCop::Cop::Layout; end

# Bare access modifiers (those not applying to specific methods) should be # indented as deep as method definitions, or as deep as the class/module # keyword, depending on configuration. # # @example EnforcedStyle: indent (default) # # bad # class Plumbus # private # def smooth; end # end # # # good # class Plumbus # private # def smooth; end # end # @example EnforcedStyle: outdent # # bad # class Plumbus # private # def smooth; end # end # # # good # class Plumbus # private # def smooth; end # end # # source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#35 class RuboCop::Cop::Layout::AccessModifierIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#43
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#43
def on_class(node); end

# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#43
def on_module(node); end

# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#43
def on_sclass(node); end

private

# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#54
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#58
def check_body(body, node); end

# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#65
def check_modifier(send_node, end_range); end

# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#88
def expected_indent_offset; end

# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#84
def message(range); end

# An offset that is not expected, but correct if the configuration is
# changed.
#
# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#94
def unexpected_indent_offset; end

end

# source://rubocop//lib/rubocop/cop/layout/access_modifier_indentation.rb#41 RuboCop::Cop::Layout::AccessModifierIndentation::MSG = T.let(T.unsafe(nil), String)

# Here we check if the arguments on a multi-line method # definition are aligned. # # @example EnforcedStyle: with_first_argument (default) # # good # # foo :bar, # :baz, # key: value # # foo( # :bar, # :baz, # key: value # ) # # # bad # # foo :bar, # :baz, # key: value # # foo( # :bar, # :baz, # key: value # ) # @example EnforcedStyle: with_fixed_indentation # # good # # foo :bar, # :baz, # key: value # # # bad # # foo :bar, # :baz, # key: value # # source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#46 class RuboCop::Cop::Layout::ArgumentAlignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#55
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#55
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#92
def arguments_or_first_arg_pairs(node); end

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#80
def arguments_with_last_arg_pairs(node); end

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#108
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#68
def autocorrect_incompatible_with_other_cops?; end

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#124
def base_column(node, first_argument); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#144
def enforce_hash_argument_with_separator?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#116
def fixed_indentation?; end

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#72
def flattened_arguments(node); end

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#152
def hash_argument_config; end

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#112
def message(_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#101
def multiple_arguments?(node); end

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#135
def target_method_lineno(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#120
def with_first_argument_style?; end

end

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#50 RuboCop::Cop::Layout::ArgumentAlignment::ALIGN_PARAMS_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/argument_alignment.rb#52 RuboCop::Cop::Layout::ArgumentAlignment::FIXED_INDENT_MSG = T.let(T.unsafe(nil), String)

# Here we check if the elements of a multi-line array literal are # aligned. # # @example EnforcedStyle: with_first_element (default) # # good # # array = [1, 2, 3, # 4, 5, 6] # array = [‘run’, # ‘forrest’, # ‘run’] # # # bad # # array = [1, 2, 3, # 4, 5, 6] # array = [‘run’, # ‘forrest’, # ‘run’] # @example EnforcedStyle: with_fixed_indentation # # good # # array = [1, 2, 3, # 4, 5, 6] # # # bad # # array = [1, 2, 3, # 4, 5, 6] # # source://rubocop//lib/rubocop/cop/layout/array_alignment.rb#36 class RuboCop::Cop::Layout::ArrayAlignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/array_alignment.rb#46
def on_array(node); end

private

# source://rubocop//lib/rubocop/cop/layout/array_alignment.rb#55
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/array_alignment.rb#67
def base_column(node, args); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/array_alignment.rb#63
def fixed_indentation?; end

# source://rubocop//lib/rubocop/cop/layout/array_alignment.rb#59
def message(_range); end

# source://rubocop//lib/rubocop/cop/layout/array_alignment.rb#78
def target_method_lineno(node); end

end

# source://rubocop//lib/rubocop/cop/layout/array_alignment.rb#40 RuboCop::Cop::Layout::ArrayAlignment::ALIGN_ELEMENTS_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/array_alignment.rb#43 RuboCop::Cop::Layout::ArrayAlignment::FIXED_INDENT_MSG = T.let(T.unsafe(nil), String)

# Checks the indentation of the first line of the # right-hand-side of a multi-line assignment. # # The indentation of the remaining lines can be corrected with # other cops such as ‘IndentationConsistency` and `EndAlignment`. # # @example # # bad # value = # if foo # ’bar’ # end # # # good # value = # if foo # ‘bar’ # end # # source://rubocop//lib/rubocop/cop/layout/assignment_indentation.rb#24 class RuboCop::Cop::Layout::AssignmentIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CheckAssignment
include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

private

# source://rubocop//lib/rubocop/cop/layout/assignment_indentation.rb#42
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/assignment_indentation.rb#33
def check_assignment(node, rhs); end

# source://rubocop//lib/rubocop/cop/layout/assignment_indentation.rb#46
def leftmost_multiple_assignment(node); end

end

# source://rubocop//lib/rubocop/cop/layout/assignment_indentation.rb#29 RuboCop::Cop::Layout::AssignmentIndentation::MSG = T.let(T.unsafe(nil), String)

# Checks whether the end keyword of ‘begin` is aligned properly. # # Two modes are supported through the `EnforcedStyleAlignWith` configuration # parameter. If it’s set to ‘start_of_line` (which is the default), the # `end` shall be aligned with the start of the line where the `begin` # keyword is. If it’s set to ‘begin`, the `end` shall be aligned with the # `begin` keyword. # # `Layout/EndAlignment` cop aligns with keywords (e.g. `if`, `while`, `case`) # by default. On the other hand, `||= begin` that this cop targets tends to # align with the start of the line, it defaults to `EnforcedStyleAlignWith: start_of_line`. # These style can be configured by each cop. # # @example EnforcedStyleAlignWith: start_of_line (default) # # bad # foo ||= begin # do_something # end # # # good # foo ||= begin # do_something # end # @example EnforcedStyleAlignWith: begin # # bad # foo ||= begin # do_something # end # # # good # foo ||= begin # do_something # end # # source://rubocop//lib/rubocop/cop/layout/begin_end_alignment.rb#41 class RuboCop::Cop::Layout::BeginEndAlignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::EndKeywordAlignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/begin_end_alignment.rb#48
def on_kwbegin(node); end

private

# source://rubocop//lib/rubocop/cop/layout/begin_end_alignment.rb#63
def alignment_node(node); end

# source://rubocop//lib/rubocop/cop/layout/begin_end_alignment.rb#59
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/begin_end_alignment.rb#54
def check_begin_alignment(node); end

end

# source://rubocop//lib/rubocop/cop/layout/begin_end_alignment.rb#46 RuboCop::Cop::Layout::BeginEndAlignment::MSG = T.let(T.unsafe(nil), String)

# Checks whether the end keywords are aligned properly for do # end blocks. # # Three modes are supported through the ‘EnforcedStyleAlignWith` # configuration parameter: # # `start_of_block` : the `end` shall be aligned with the # start of the line where the `do` appeared. # # `start_of_line` : the `end` shall be aligned with the # start of the line where the expression started. # # `either` (which is the default) : the `end` is allowed to be in either # location. The autofixer will default to `start_of_line`. # # @example EnforcedStyleAlignWith: either (default) # # bad # # foo.bar # .each do # baz # end # # # good # # foo.bar # .each do # baz # end # @example EnforcedStyleAlignWith: start_of_block # # bad # # foo.bar # .each do # baz # end # # # good # # foo.bar # .each do # baz # end # @example EnforcedStyleAlignWith: start_of_line # # bad # # foo.bar # .each do # baz # end # # # good # # foo.bar # .each do # baz # end # # source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#66 class RuboCop::Cop::Layout::BlockAlignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#74
def block_end_align_target?(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#83
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#83
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#89
def style_parameter_name; end

private

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#228
def add_space_before(corrector, loc, delta); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#205
def alt_start_msg(start_loc, source_line_column); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#155
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#105
def block_end_align_target(node); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#123
def check_block_alignment(start_node, block_node); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#178
def compute_do_source_line_column(node, end_loc); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#220
def compute_start_col(ancestor_node, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#119
def disqualified_parent?(parent, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#115
def end_align_target?(node, parent); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#168
def format_message(start_loc, end_loc, do_source_line_column, error_source_line_column); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#215
def format_source_line_column(source_line_column); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#197
def loc_to_source_line_column(loc); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#136
def register_offense(block_node, start_loc, end_loc, do_source_line_column); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#232
def remove_space_before(corrector, end_pos, delta); end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#95
def start_for_block_node(block_node); end

end

# source://rubocop//lib/rubocop/cop/layout/block_alignment.rb#71 RuboCop::Cop::Layout::BlockAlignment::MSG = T.let(T.unsafe(nil), String)

# Checks whether the end statement of a do..end block # is on its own line. # # @example # # bad # blah do |i| # foo(i) end # # # good # blah do |i| # foo(i) # end # # # bad # blah { |i| # foo(i) } # # # good # blah { |i| # foo(i) # } # # source://rubocop//lib/rubocop/cop/layout/block_end_newline.rb#27 class RuboCop::Cop::Layout::BlockEndNewline < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/block_end_newline.rb#33
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/block_end_newline.rb#33
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/layout/block_end_newline.rb#66
def last_heredoc_argument(node); end

# source://rubocop//lib/rubocop/cop/layout/block_end_newline.rb#62
def message(node); end

# source://rubocop//lib/rubocop/cop/layout/block_end_newline.rb#76
def offense_range(node); end

# source://rubocop//lib/rubocop/cop/layout/block_end_newline.rb#49
def register_offense(node, offense_range); end

end

# source://rubocop//lib/rubocop/cop/layout/block_end_newline.rb#31 RuboCop::Cop::Layout::BlockEndNewline::MSG = T.let(T.unsafe(nil), String)

# Checks how the ‘when` and “in“s of a `case` expression # are indented in relation to its `case` or `end` keyword. # # It will register a separate offense for each misaligned `when` and `in`. # # @example # # If Layout/EndAlignment is set to keyword style (default) # # case and end should always be aligned to same depth, # # and therefore when should always be aligned to both - # # regardless of configuration. # # # bad for all styles # case n # when 0 # x * 2 # else # y / 3 # end # # case n # in pattern # x * 2 # else # y / 3 # end # # # good for all styles # case n # when 0 # x * 2 # else # y / 3 # end # # case n # in pattern # x * 2 # else # y / 3 # end # @example EnforcedStyle: case (default) # # if EndAlignment is set to other style such as # # start_of_line (as shown below), then when alignment # # configuration does have an effect. # # # bad # a = case n # when 0 # x * 2 # else # y / 3 # end # # a = case n # in pattern # x * 2 # else # y / 3 # end # # # good # a = case n # when 0 # x * 2 # else # y / 3 # end # # a = case n # in pattern # x * 2 # else # y / 3 # end # @example EnforcedStyle: end # # bad # a = case n # when 0 # x * 2 # else # y / 3 # end # # a = case n # in pattern # x * 2 # else # y / 3 # end # # # good # a = case n # when 0 # x * 2 # else # y / 3 # end # # a = case n # in pattern # x * 2 # else # y / 3 # end # # source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#112 class RuboCop::Cop::Layout::CaseIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#120
def on_case(case_node); end

# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#127
def on_case_match(case_match_node); end

private

# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#193
def base_column(case_node, base); end

# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#150
def check_when(when_node, branch_type); end

# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#182
def detect_incorrect_style(when_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#136
def end_and_last_conditional_same_line?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#146
def enforced_style_end?; end

# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#169
def incorrect_style(when_node, branch_type); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#161
def indent_one_step?; end

# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#165
def indentation_width; end

# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#207
def replacement(node); end

# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#200
def whitespace_range(node); end

end

# source://rubocop//lib/rubocop/cop/layout/case_indentation.rb#118 RuboCop::Cop::Layout::CaseIndentation::MSG = T.let(T.unsafe(nil), String)

# Checks if the code style follows the ExpectedOrder configuration: # # ‘Categories` allows us to map macro names into a category. # # Consider an example of code style that covers the following order: # # * Module inclusion (include, prepend, extend) # * Constants # * Associations (has_one, has_many) # * Public attribute macros (attr_accessor, attr_writer, attr_reader) # * Other macros (validates, validate) # * Public class methods # * Initializer # * Public instance methods # * Protected attribute macros (attr_accessor, attr_writer, attr_reader) # * Protected instance methods # * Private attribute macros (attr_accessor, attr_writer, attr_reader) # * Private instance methods # # You can configure the following order: # # [source,yaml] # —- # Layout/ClassStructure: # ExpectedOrder: # - module_inclusion # - constants # - association # - public_attribute_macros # - public_delegate # - macros # - public_class_methods # - initializer # - public_methods # - protected_attribute_macros # - protected_methods # - private_attribute_macros # - private_delegate # - private_methods # —- # # Instead of putting all literals in the expected order, is also # possible to group categories of macros. Visibility levels are handled # automatically. # # [source,yaml] # —- # Layout/ClassStructure: # Categories: # association: # - has_many # - has_one # attribute_macros: # - attr_accessor # - attr_reader # - attr_writer # macros: # - validates # - validate # module_inclusion: # - include # - prepend # - extend # —- # # @example # # bad # # Expect extend be before constant # class Person < ApplicationRecord # has_many :orders # ANSWER = 42 # # extend SomeModule # include AnotherModule # end # # # good # class Person # # extend and include go first # extend SomeModule # include AnotherModule # # # inner classes # CustomError = Class.new(StandardError) # # # constants are next # SOME_CONSTANT = 20 # # # afterwards we have public attribute macros # attr_reader :name # # # followed by other macros (if any) # validates :name # # # then we have public delegate macros # delegate :to_s, to: :name # # # public class methods are next in line # def self.some_method # end # # # initialization goes between class methods and instance methods # def initialize # end # # # followed by other public instance methods # def some_method # end # # # protected attribute macros and methods go next # protected # # attr_reader :protected_name # # def some_protected_method # end # # # private attribute macros, delegate macros and methods # # are grouped near the end # private # # attr_reader :private_name # # delegate :some_private_delegate, to: :name # # def some_private_method # end # end # # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#142 class RuboCop::Cop::Layout::ClassStructure < ::RuboCop::Cop::Base

include ::RuboCop::Cop::VisibilityHelp
include ::RuboCop::Cop::CommentsHelp
extend ::RuboCop::Cop::AutoCorrector

# Validates code style on class declaration.
# Add offense when find a node out of expected order.
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#158
def on_class(class_node); end

# Validates code style on class declaration.
# Add offense when find a node out of expected order.
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#158
def on_sclass(class_node); end

private

# Autocorrect by swapping between two nodes autocorrecting them
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#174
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#305
def begin_pos_with_comment(node); end

# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#328
def buffer; end

# Setting categories hash allow you to group methods in group to match
# in the {expected_order}.
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#340
def categories; end

# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#234
def class_elements(class_node); end

# Classifies a node to match with something in the {expected_order}
#
# @param node to be analysed
# @return String when the node type is a `:block` then
#   {classify} recursively with the first children
# @return String when the node type is a `:send` then {find_category}
#   by method name
# @return String otherwise trying to {humanize_node} of the current node
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#194
def classify(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#271
def dynamic_constant?(node); end

# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#295
def end_position_for(node); end

# Load expected order from `ExpectedOrder` config.
# Define new terms in the expected order by adding new {categories}.
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#334
def expected_order; end

# Categorize a node according to the {expected_order}
# Try to match {categories} values against the node's method_name given
# also its visibility.
#
# @param node to be analysed.
# @return [String] with the key category or the `method_name` as string
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#212
def find_category(node); end

# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#324
def find_heredoc(node); end

# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#262
def humanize_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#246
def ignore?(node, classification); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#253
def ignore_for_autocorrect?(node, sibling); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#289
def marked_as_private_constant?(node, name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#279
def private_constant?(node); end

# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#320
def start_line_position(node); end

# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#225
def walk_over_nested_class_definition(class_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#316
def whole_line_comment_at_line?(line); end

end

# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#147 RuboCop::Cop::Layout::ClassStructure::HUMANIZED_NODE_TYPE = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#154 RuboCop::Cop::Layout::ClassStructure::MSG = T.let(T.unsafe(nil), String)

# Checks the indentation of here document closings. # # @example # # # bad # class Foo # def bar # <<~SQL # ‘Hi’ # SQL # end # end # # # good # class Foo # def bar # <<~SQL # ‘Hi’ # SQL # end # end # # # bad # # # heredoc contents is before closing heredoc. # foo arg, # <<~EOS # Hi # EOS # # # good # foo arg, # <<~EOS # Hi # EOS # # # good # foo arg, # <<~EOS # Hi # EOS # # source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#48 class RuboCop::Cop::Layout::ClosingHeredocIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Heredoc
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#57
def on_heredoc(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#74
def argument_indentation_correct?(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#82
def closing_indentation(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#101
def find_node_used_heredoc_argument(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#90
def heredoc_closing(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#86
def heredoc_opening(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#117
def indent_level(source_line); end

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#94
def indented_end(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#109
def message(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#70
def opening_indentation(node); end

end

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#53 RuboCop::Cop::Layout::ClosingHeredocIndentation::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#54 RuboCop::Cop::Layout::ClosingHeredocIndentation::MSG_ARG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/closing_heredoc_indentation.rb#52 RuboCop::Cop::Layout::ClosingHeredocIndentation::SIMPLE_HEREDOC = T.let(T.unsafe(nil), String)

# Checks the indentation of hanging closing parentheses in # method calls, method definitions, and grouped expressions. A hanging # closing parenthesis means ‘)` preceded by a line break. # # @example # # # bad # some_method( # a, # b # ) # # some_method( # a, b # ) # # some_method(a, b, c # ) # # some_method(a, # b, # c # ) # # some_method(a, # x: 1, # y: 2 # ) # # # Scenario 1: When First Parameter Is On Its Own Line # # # good: when first param is on a new line, right paren is always # # outdented by IndentationWidth # some_method( # a, # b # ) # # # good # some_method( # a, b # ) # # # Scenario 2: When First Parameter Is On The Same Line # # # good: when all other params are also on the same line, outdent # # right paren by IndentationWidth # some_method(a, b, c # ) # # # good: when all other params are on multiple lines, but are lined # # up, align right paren with left paren # some_method(a, # b, # c # ) # # # good: when other params are not lined up on multiple lines, outdent # # right paren by IndentationWidth # some_method(a, # x: 1, # y: 2 # ) # # source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#71 class RuboCop::Cop::Layout::ClosingParenthesisIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#84
def on_begin(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#79
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#88
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#88
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#79
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#157
def all_elements_aligned?(elements); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#95
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#99
def check(node, elements); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#107
def check_for_elements(node, elements); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#125
def check_for_no_elements(node); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#171
def correct_column_candidates(node, left_paren); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#144
def expected_column(left_paren, elements); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#167
def first_argument_line(elements); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#187
def line_break_after_left_paren?(left_paren, elements); end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#179
def message(correct_column, left_paren, right_paren); end

end

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#77 RuboCop::Cop::Layout::ClosingParenthesisIndentation::MSG_ALIGN = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/closing_parenthesis_indentation.rb#75 RuboCop::Cop::Layout::ClosingParenthesisIndentation::MSG_INDENT = T.let(T.unsafe(nil), String)

# Checks the indentation of comments. # # @example # # bad # # comment here # def method_name # end # # # comment here # a = ‘hello’ # # # yet another comment # if true # true # end # # # good # # comment here # def method_name # end # # # comment here # a = ‘hello’ # # # yet another comment # if true # true # end # @example AllowForAlignment: false (default) # # bad # a = 1 # A really long comment # # spanning two lines. # # # good # # A really long comment spanning one line. # a = 1 # @example AllowForAlignment: true # # good # a = 1 # A really long comment # # spanning two lines. # # source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#48 class RuboCop::Cop::Layout::CommentIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#55
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#61
def autocorrect(corrector, comment); end

# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#88
def autocorrect_one(corrector, comment); end

# Corrects all comment lines that occur immediately before the given
# comment and have the same indentation. This is to avoid a long chain
# of correcting, saving the file, parsing and inspecting again, and
# then correcting one more line, and so on.
#
# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#71
def autocorrect_preceding_comments(corrector, comment); end

# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#92
def check(comment, comment_index); end

# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#145
def correct_indentation(next_line); end

# Returns true if:
# a) the cop is configured to allow extra indentation for alignment, and
# b) the currently inspected comment is aligned with the nearest preceding end-of-line
#    comment.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#121
def correctly_aligned_with_preceding_comment?(comment_index, column); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#156
def less_indented?(line); end

# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#140
def line_after_comment(comment); end

# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#131
def message(column, correct_comment_indentation); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#135
def own_line_comment?(comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#82
def should_correct?(preceding_comment, reference_comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#162
def two_alternatives?(line); end

end

# source://rubocop//lib/rubocop/cop/layout/comment_indentation.rb#52 RuboCop::Cop::Layout::CommentIndentation::MSG = T.let(T.unsafe(nil), String)

# Checks for conditions that are not on the same line as # if/while/until. # # @example # # # bad # # if # some_condition # do_something # end # @example # # # good # # if some_condition # do_something # end # # source://rubocop//lib/rubocop/cop/layout/condition_position.rb#25 class RuboCop::Cop::Layout::ConditionPosition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/condition_position.rb#31
def on_if(node); end

# source://rubocop//lib/rubocop/cop/layout/condition_position.rb#37
def on_until(node); end

# source://rubocop//lib/rubocop/cop/layout/condition_position.rb#37
def on_while(node); end

private

# source://rubocop//lib/rubocop/cop/layout/condition_position.rb#44
def check(node); end

# source://rubocop//lib/rubocop/cop/layout/condition_position.rb#58
def message(condition); end

end

# source://rubocop//lib/rubocop/cop/layout/condition_position.rb#29 RuboCop::Cop::Layout::ConditionPosition::MSG = T.let(T.unsafe(nil), String)

# Checks whether the end keywords of method definitions are # aligned properly. # # Two modes are supported through the EnforcedStyleAlignWith configuration # parameter. If it’s set to ‘start_of_line` (which is the default), the # `end` shall be aligned with the start of the line where the `def` # keyword is. If it’s set to ‘def`, the `end` shall be aligned with the # `def` keyword. # # @example EnforcedStyleAlignWith: start_of_line (default) # # bad # # private def foo # end # # # good # # private def foo # end # @example EnforcedStyleAlignWith: def # # bad # # private def foo # end # # # good # # private def foo # end # # source://rubocop//lib/rubocop/cop/layout/def_end_alignment.rb#36 class RuboCop::Cop::Layout::DefEndAlignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::EndKeywordAlignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/def_end_alignment.rb#43
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/def_end_alignment.rb#43
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/layout/def_end_alignment.rb#48
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/def_end_alignment.rb#63
def autocorrect(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/layout/def_end_alignment.rb#41 RuboCop::Cop::Layout::DefEndAlignment::MSG = T.let(T.unsafe(nil), String)

# Checks the . position in multi-line method calls. # # @example EnforcedStyle: leading (default) # # bad # something. # method # # # good # something # .method # @example EnforcedStyle: trailing # # bad # something # .method # # # good # something. # method # # source://rubocop//lib/rubocop/cop/layout/dot_position.rb#25 class RuboCop::Cop::Layout::DotPosition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#34
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#34
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#49
def autocorrect(corrector, dot, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#99
def correct_dot_position_style?(dot_line, selector_line); end

# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#126
def end_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#122
def heredoc?(node); end

# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#114
def last_heredoc_line(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#95
def line_between?(first_line, second_line); end

# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#64
def message(dot); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#74
def proper_dot_position?(node); end

# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#106
def receiver_end_line(node); end

# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#130
def selector_range(node); end

class << self
  # source://rubocop//lib/rubocop/cop/layout/dot_position.rb#30
  def autocorrect_incompatible_with; end
end

end

# Checks the alignment of else keywords. Normally they should # be aligned with an if/unless/while/until/begin/def/rescue keyword, but there # are special cases when they should follow the same rules as the # alignment of end. # # @example # # bad # if something # code # else # code # end # # # bad # if something # code # elsif something # code # end # # # good # if something # code # else # code # end # # source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#32 class RuboCop::Cop::Layout::ElseAlignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::EndKeywordAlignment
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::CheckAssignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#57
def on_case(node); end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#63
def on_case_match(node); end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#40
def on_if(node, base = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#51
def on_rescue(node); end

private

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#147
def assignment_node(node); end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#71
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#106
def base_for_method_definition(node); end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#80
def base_range_of_if(node, base); end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#89
def base_range_of_rescue(node); end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#131
def check_alignment(base_range, else_range); end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#115
def check_assignment(node, rhs); end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#75
def check_nested(node, base); end

end

# source://rubocop//lib/rubocop/cop/layout/else_alignment.rb#38 RuboCop::Cop::Layout::ElseAlignment::MSG = T.let(T.unsafe(nil), String)

# Checks empty comment. # # @example # # bad # # # # class Foo # end # # # good # # # # # Description of ‘Foo` class. # # # class Foo # end # @example AllowBorderComment: true (default) # # good # # def foo # end # # ################# # # def bar # end # @example AllowBorderComment: false # # bad # # def foo # end # # ################# # # def bar # end # @example AllowMarginComment: true (default) # # good # # # # # Description of `Foo` class. # # # class Foo # end # @example AllowMarginComment: false # # bad # # # # # Description of `Foo` class. # # # class Foo # end # # source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#63 class RuboCop::Cop::Layout::EmptyComment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#69
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#131
def allow_border_comment?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#135
def allow_margin_comment?; end

# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#97
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#127
def comment_text(comment); end

# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#108
def concat_consecutive_comments(comments); end

# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#139
def current_token(comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#117
def empty_comment_only?(comment_text); end

# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#85
def investigate(comments); end

# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#143
def previous_token(node); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#67 RuboCop::Cop::Layout::EmptyComment::MSG = T.let(T.unsafe(nil), String)

# Enforces empty line after guard clause. # # This cop allows ‘# :nocov:` directive after guard clause because # SimpleCov excludes code from the coverage report by wrapping it in `# :nocov:`: # # [source,ruby] # —- # def foo # # :nocov: # return if condition # # :nocov: # bar # end # —- # # Refer to SimpleCov’s documentation for more details: # github.com/simplecov-ruby/simplecov#ignoringskipping-code # # @example # # # bad # def foo # return if need_return? # bar # end # # # good # def foo # return if need_return? # # bar # end # # # good # def foo # return if something? # return if something_different? # # bar # end # # # also good # def foo # if something? # do_something # return if need_return? # end # end # # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#54 class RuboCop::Cop::Layout::EmptyLineAfterGuardClause < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::PathUtil
extend ::RuboCop::Cop::Util

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#63
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#84
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#106
def contains_guard_clause?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#99
def correct_style?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#181
def heredoc?(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#174
def heredoc_line(node, heredoc_node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#148
def last_heredoc_argument(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#162
def last_heredoc_argument_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#199
def multiple_statements_on_line?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#121
def next_line_allowed_directive_comment?(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#117
def next_line_empty?(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#110
def next_line_empty_or_allowed_directive_comment?(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#127
def next_line_rescue_or_ensure?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#141
def next_sibling_empty_or_guard_clause?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#132
def next_sibling_parent_empty_or_else?(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#191
def offense_location(node); end

# SimpleCov excludes code from the coverage report by wrapping it in `# :nocov:`:
# https://github.com/simplecov-ruby/simplecov#ignoringskipping-code
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#208
def simplecov_directive_comment?(comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#185
def use_heredoc_in_condition?(condition); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#60 RuboCop::Cop::Layout::EmptyLineAfterGuardClause::END_OF_HEREDOC_LINE = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#59 RuboCop::Cop::Layout::EmptyLineAfterGuardClause::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#61 RuboCop::Cop::Layout::EmptyLineAfterGuardClause::SIMPLE_DIRECTIVE_COMMENT_PATTERN = T.let(T.unsafe(nil), Regexp)

# Checks for a newline after the final magic comment. # # @example # # good # # frozen_string_literal: true # # # Some documentation for Person # class Person # # Some code # end # # # bad # # frozen_string_literal: true # # Some documentation for Person # class Person # # Some code # end # # source://rubocop//lib/rubocop/cop/layout/empty_line_after_magic_comment.rb#23 class RuboCop::Cop::Layout::EmptyLineAfterMagicComment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_magic_comment.rb#29
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_magic_comment.rb#61
def comments_before_code(source); end

# Find the last magic comment in the source file.
#
# Take all comments that precede the first line of code (or just take
# them all in the case when there is no code), select the
# magic comments, and return the last magic comment in the file.
#
# @return [Parser::Source::Comment] if magic comments exist before code
# @return [nil] otherwise
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_magic_comment.rb#55
def last_magic_comment(source); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_magic_comment.rb#43
def offending_range(last_magic_comment); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_magic_comment.rb#27 RuboCop::Cop::Layout::EmptyLineAfterMagicComment::MSG = T.let(T.unsafe(nil), String)

# Enforces empty line after multiline condition. # # @example # # bad # if multiline && # condition # do_something # end # # # good # if multiline && # condition # # do_something # end # # # bad # case x # when foo, # bar # do_something # end # # # good # case x # when foo, # bar # # do_something # end # # # bad # begin # do_something # rescue FooError, # BarError # handle_error # end # # # good # begin # do_something # rescue FooError, # BarError # # handle_error # end # # source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#54 class RuboCop::Cop::Layout::EmptyLineAfterMultilineCondition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#82
def on_case(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#60
def on_if(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#93
def on_rescue(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#70
def on_until(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#75
def on_until_post(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#70
def on_while(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#75
def on_while_post(node); end

private

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#127
def autocorrect(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#105
def check_condition(condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#120
def multiline_rescue_exceptions?(exception_nodes); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#116
def multiline_when_condition?(when_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#112
def next_line_empty?(line); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb#58 RuboCop::Cop::Layout::EmptyLineAfterMultilineCondition::MSG = T.let(T.unsafe(nil), String)

# Checks whether class/module/method definitions are # separated by one or more empty lines. # # ‘NumberOfEmptyLines` can be an integer (default is 1) or # an array (e.g. [1, 2]) to specify a minimum and maximum # number of empty lines permitted. # # `AllowAdjacentOneLineDefs` configures whether adjacent # one-line definitions are considered an offense. # # @example EmptyLineBetweenMethodDefs: true (default) # # checks for empty lines between method definitions. # # # bad # def a # end # def b # end # @example # # # good # def a # end # # def b # end # @example EmptyLineBetweenClassDefs: true (default) # # checks for empty lines between class definitions. # # # bad # class A # end # class B # end # def b # end # @example # # # good # class A # end # # class B # end # # def b # end # @example EmptyLineBetweenModuleDefs: true (default) # # checks for empty lines between module definitions. # # # bad # module A # end # module B # end # def b # end # @example # # # good # module A # end # # module B # end # # def b # end # @example AllowAdjacentOneLineDefs: true (default) # # # good # class ErrorA < BaseError; end # class ErrorB < BaseError; end # class ErrorC < BaseError; end # # # good # class ErrorA < BaseError; end # # class ErrorB < BaseError; end # # class ErrorC < BaseError; end # @example AllowAdjacentOneLineDefs: false # # # bad # class ErrorA < BaseError; end # class ErrorB < BaseError; end # class ErrorC < BaseError; end # # # good # class ErrorA < BaseError; end # # class ErrorB < BaseError; end # # class ErrorC < BaseError; end # # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#108 class RuboCop::Cop::Layout::EmptyLineBetweenDefs < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#145
def autocorrect(corrector, prev_def, node, count); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#130
def check_defs(nodes); end

# We operate on `begin` nodes, instead of using `OnMethodDef`,
# so that we can walk over pairs of consecutive nodes and
# efficiently access a node's predecessor; #prev_node ends up
# doing a linear scan over siblings, so we don't want to call
# it on each def.
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#123
def on_begin(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#290
def allowance_range?; end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#274
def autocorrect_insert_lines(corrector, newline_pos, count); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#267
def autocorrect_remove_lines(corrector, newline_pos, count); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#227
def blank_lines_count_between(first_def_node, second_def_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#171
def candidate?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#191
def class_candidate?(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#255
def def_end(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#163
def def_location(correction_node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#247
def def_start(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#178
def empty_line_between_macros; end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#259
def end_loc(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#205
def expected_lines; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#223
def line_count_allowed?(count); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#239
def lines_between_defs(first_def_node, second_def_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#182
def macro_candidate?(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#235
def maximum_empty_lines; end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#199
def message(node, count: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#187
def method_candidate?(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#231
def minimum_empty_lines; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#195
def module_candidate?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#214
def multiple_blank_lines_groups?(first_def_node, second_def_node); end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#281
def node_type(node); end

class << self
  # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#114
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#112 RuboCop::Cop::Layout::EmptyLineBetweenDefs::MSG = T.let(T.unsafe(nil), String)

# Checks for two or more consecutive blank lines. # # @example # # # bad - It has two empty lines. # some_method # # one empty line # # two empty lines # some_method # # # good # some_method # # one empty line # some_method # # source://rubocop//lib/rubocop/cop/layout/empty_lines.rb#21 class RuboCop::Cop::Layout::EmptyLines < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_lines.rb#28
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/layout/empty_lines.rb#45
def each_extra_empty_line(lines); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines.rb#63
def exceeds_line_offset?(line_diff); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines.rb#67
def previous_and_current_lines_empty?(line); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_lines.rb#26 RuboCop::Cop::Layout::EmptyLines::LINE_OFFSET = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cop/layout/empty_lines.rb#25 RuboCop::Cop::Layout::EmptyLines::MSG = T.let(T.unsafe(nil), String)

# Access modifiers should be surrounded by blank lines. # # @example EnforcedStyle: around (default) # # # bad # class Foo # def bar; end # private # def baz; end # end # # # good # class Foo # def bar; end # # private # # def baz; end # end # @example EnforcedStyle: only_before # # # bad # class Foo # def bar; end # private # def baz; end # end # # # good # class Foo # def bar; end # # private # def baz; end # end # # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#43 class RuboCop::Cop::Layout::EmptyLinesAroundAccessModifier < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# @return [EmptyLinesAroundAccessModifier] a new instance of EmptyLinesAroundAccessModifier
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#56
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#81
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#62
def on_class(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#71
def on_module(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#81
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#76
def on_sclass(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#87
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#115
def allowed_only_before_style?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#164
def block_start?(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#170
def body_end?(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#158
def class_def?(line); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#124
def correct_next_line_if_denied_style(corrector, node, line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#154
def empty_lines_around?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#104
def expected_empty_lines?(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#180
def message(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#189
def message_for_around_style(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#199
def message_for_only_before_style(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#176
def next_empty_line_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#148
def next_line_empty?(last_send_line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#141
def previous_line_empty?(send_line); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#137
def previous_line_ignoring_comments(processed_source, send_line); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#48 RuboCop::Cop::Layout::EmptyLinesAroundAccessModifier::MSG_AFTER = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#52 RuboCop::Cop::Layout::EmptyLinesAroundAccessModifier::MSG_AFTER_FOR_ONLY_BEFORE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#49 RuboCop::Cop::Layout::EmptyLinesAroundAccessModifier::MSG_BEFORE_AND_AFTER = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#51 RuboCop::Cop::Layout::EmptyLinesAroundAccessModifier::MSG_BEFORE_FOR_ONLY_BEFORE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb#54 RuboCop::Cop::Layout::EmptyLinesAroundAccessModifier::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks if empty lines exist around the arguments # of a method invocation. # # @example # # bad # do_something( # foo # # ) # # process(bar, # # baz: qux, # thud: fred) # # some_method( # # [1,2,3], # x: y # ) # # # good # do_something( # foo # ) # # process(bar, # baz: qux, # thud: fred) # # some_method( # [1,2,3], # x: y # ) # # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#41 class RuboCop::Cop::Layout::EmptyLinesAroundArguments < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#47
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#47
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#65
def empty_lines(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#71
def extra_lines(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#93
def inner_lines(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#84
def line_numbers(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#97
def outer_lines(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#78
def processed_lines(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#61
def receiver_and_method_call_on_different_lines?(node); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_arguments.rb#45 RuboCop::Cop::Layout::EmptyLinesAroundArguments::MSG = T.let(T.unsafe(nil), String)

# Checks for a newline after an attribute accessor or a group of them. # ‘alias` syntax and `alias_method`, `public`, `protected`, and `private` methods are allowed # by default. These are customizable with `AllowAliasSyntax` and `AllowedMethods` options. # # @example # # bad # attr_accessor :foo # def do_something # end # # # good # attr_accessor :foo # # def do_something # end # # # good # attr_accessor :foo # attr_reader :bar # attr_writer :baz # attr :qux # # def do_something # end # @example AllowAliasSyntax: true (default) # # good # attr_accessor :foo # alias :foo? :foo # # def do_something # end # @example AllowAliasSyntax: false # # bad # attr_accessor :foo # alias :foo? :foo # # def do_something # end # # # good # attr_accessor :foo # # alias :foo? :foo # # def do_something # end # @example AllowedMethods: [’private’] # # good # attr_accessor :foo # private :foo # # def do_something # end # # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#63 class RuboCop::Cop::Layout::EmptyLinesAroundAttributeAccessor < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::AllowedMethods
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#70
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#123
def allow_alias?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#133
def allow_alias_syntax?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#127
def attribute_or_allowed_method?(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#83
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#107
def next_line_empty?(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#94
def next_line_empty_or_enable_directive_comment?(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#101
def next_line_enable_directive_comment?(line); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#117
def next_line_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#111
def require_empty_line?(node); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb#68 RuboCop::Cop::Layout::EmptyLinesAroundAttributeAccessor::MSG = T.let(T.unsafe(nil), String)

# Checks if empty lines exist around the bodies of begin-end # blocks. # # @example # # # good # # begin # # … # end # # # bad # # begin # # # … # # end # # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_begin_body.rb#24 class RuboCop::Cop::Layout::EmptyLinesAroundBeginBody < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::Layout::EmptyLinesAroundBody
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_begin_body.rb#30
def on_kwbegin(node); end

private

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_begin_body.rb#36
def style; end

end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_begin_body.rb#28 RuboCop::Cop::Layout::EmptyLinesAroundBeginBody::KIND = T.let(T.unsafe(nil), String)

# Checks if empty lines around the bodies of blocks match # the configuration. # # @example EnforcedStyle: no_empty_lines (default) # # good # # foo do |bar| # # … # end # @example EnforcedStyle: empty_lines # # good # # foo do |bar| # # # … # # end # # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_block_body.rb#24 class RuboCop::Cop::Layout::EmptyLinesAroundBlockBody < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::Layout::EmptyLinesAroundBody
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_block_body.rb#30
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_block_body.rb#30
def on_numblock(node); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_block_body.rb#28 RuboCop::Cop::Layout::EmptyLinesAroundBlockBody::KIND = T.let(T.unsafe(nil), String)

# Common functionality for checking if presence/absence of empty lines # around some kind of body matches the configuration. # # source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#8 module RuboCop::Cop::Layout::EmptyLinesAroundBody

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#20
def constant_definition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#23
def empty_line_required?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#26
def check(node, body, adjusted_first_line: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#81
def check_beginning(style, first_line); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#67
def check_both(style, first_line, last_line); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#108
def check_deferred_empty_line(body); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#43
def check_empty_lines_except_namespace(body, first_line, last_line); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#51
def check_empty_lines_special(body, first_line, last_line); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#85
def check_ending(style, last_line); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#98
def check_line(style, line, msg); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#89
def check_source(style, line_no, desc); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#159
def deferred_message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#132
def first_child_requires_empty_line?(body); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#140
def first_empty_line_required_child(body); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#155
def message(type, desc); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#122
def namespace?(body, with_one_child: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#148
def previous_line_ignoring_comments(send_line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#163
def valid_body_style?(body); end

end

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#15 RuboCop::Cop::Layout::EmptyLinesAroundBody::MSG_DEFERRED = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#13 RuboCop::Cop::Layout::EmptyLinesAroundBody::MSG_EXTRA = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/empty_lines_around_body.rb#14 RuboCop::Cop::Layout::EmptyLinesAroundBody::MSG_MISSING = T.let(T.unsafe(nil), String)

# Checks if empty lines around the bodies of classes match # the configuration. # # @example EnforcedStyle: no_empty_lines (default) # # good # # class Foo # def bar # # … # end # end # @example EnforcedStyle: empty_lines # # good # # class Foo # # def bar # # … # end # # end # @example EnforcedStyle: empty_lines_except_namespace # # good # # class Foo # class Bar # # # … # # end # end # @example EnforcedStyle: empty_lines_special # # good # class Foo # # def bar; end # # end # @example EnforcedStyle: beginning_only # # good # # class Foo # # def bar # # … # end # end # @example EnforcedStyle: ending_only # # good # # class Foo # def bar # # … # end # # end # # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_class_body.rb#67 class RuboCop::Cop::Layout::EmptyLinesAroundClassBody < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::Layout::EmptyLinesAroundBody
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_class_body.rb#73
def on_class(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_class_body.rb#79
def on_sclass(node); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_class_body.rb#71 RuboCop::Cop::Layout::EmptyLinesAroundClassBody::KIND = T.let(T.unsafe(nil), String)

# Checks if empty lines exist around the bodies of ‘begin` # sections. This cop doesn’t check empty lines at ‘begin` body # beginning/end and around method definition body. # `Style/EmptyLinesAroundBeginBody` or `Style/EmptyLinesAroundMethodBody` # can be used for this purpose. # # @example # # # good # # begin # do_something # rescue # do_something2 # else # do_something3 # ensure # do_something4 # end # # # good # # def foo # do_something # rescue # do_something2 # end # # # bad # # begin # do_something # # rescue # # do_something2 # # else # # do_something3 # # ensure # # do_something4 # end # # # bad # # def foo # do_something # # rescue # # do_something2 # end # # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#61 class RuboCop::Cop::Layout::EmptyLinesAroundExceptionHandlingKeywords < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::Layout::EmptyLinesAroundBody
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#67
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#67
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#67
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#74
def on_kwbegin(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#67
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#81
def check_body(body, line_of_def_or_kwbegin); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#108
def keyword_locations(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#125
def keyword_locations_in_ensure(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#121
def keyword_locations_in_rescue(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#96
def last_rescue_and_end_on_same_line(body); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#100
def message(location, keyword); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#104
def style; end

end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#65 RuboCop::Cop::Layout::EmptyLinesAroundExceptionHandlingKeywords::MSG = T.let(T.unsafe(nil), String)

# Checks if empty lines exist around the bodies of methods. # # @example # # # good # # def foo # # … # end # # # bad # # def bar # # # … # # end # # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_method_body.rb#23 class RuboCop::Cop::Layout::EmptyLinesAroundMethodBody < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::Layout::EmptyLinesAroundBody
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_method_body.rb#29
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_method_body.rb#29
def on_defs(node); end

private

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_method_body.rb#36
def style; end

end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_method_body.rb#27 RuboCop::Cop::Layout::EmptyLinesAroundMethodBody::KIND = T.let(T.unsafe(nil), String)

# Checks if empty lines around the bodies of modules match # the configuration. # # @example EnforcedStyle: no_empty_lines (default) # # good # # module Foo # def bar # # … # end # end # @example EnforcedStyle: empty_lines # # good # # module Foo # # def bar # # … # end # # end # @example EnforcedStyle: empty_lines_except_namespace # # good # # module Foo # module Bar # # # … # # end # end # @example EnforcedStyle: empty_lines_special # # good # module Foo # # def bar; end # # end # # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_module_body.rb#47 class RuboCop::Cop::Layout::EmptyLinesAroundModuleBody < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::Layout::EmptyLinesAroundBody
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_module_body.rb#53
def on_module(node); end

end

# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_module_body.rb#51 RuboCop::Cop::Layout::EmptyLinesAroundModuleBody::KIND = T.let(T.unsafe(nil), String)

# Checks whether the end keywords are aligned properly. # # Three modes are supported through the ‘EnforcedStyleAlignWith` # configuration parameter: # # If it’s set to ‘keyword` (which is the default), the `end` # shall be aligned with the start of the keyword (if, class, etc.). # # If it’s set to ‘variable` the `end` shall be aligned with the # left-hand-side of the variable assignment, if there is one. # # If it’s set to ‘start_of_line`, the `end` shall be aligned with the # start of the line where the matching keyword appears. # # This `Layout/EndAlignment` cop aligns with keywords (e.g. `if`, `while`, `case`) # by default. On the other hand, `Layout/BeginEndAlignment` cop aligns with # `EnforcedStyleAlignWith: start_of_line` by default due to `||= begin` tends # to align with the start of the line. `Layout/DefEndAlignment` cop also aligns with # `EnforcedStyleAlignWith: start_of_line` by default. # These style can be configured by each cop. # # @example EnforcedStyleAlignWith: keyword (default) # # bad # # variable = if true # end # # # good # # variable = if true # end # # variable = # if true # end # @example EnforcedStyleAlignWith: variable # # bad # # variable = if true # end # # # good # # variable = if true # end # # variable = # if true # end # @example EnforcedStyleAlignWith: start_of_line # # bad # # variable = if true # end # # puts(if true # end) # # # good # # variable = if true # end # # puts(if true # end) # # variable = # if true # end # # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#77 class RuboCop::Cop::Layout::EndAlignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CheckAssignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::EndKeywordAlignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#111
def on_case(node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#111
def on_case_match(node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#83
def on_class(node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#99
def on_if(node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#95
def on_module(node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#87
def on_sclass(node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#107
def on_until(node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#103
def on_while(node); end

private

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#167
def alignment_node(node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#184
def alignment_node_for_variable_style(node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#148
def asgn_variable_align_with(outer_node, inner_node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#202
def assignment_or_operator_method(node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#122
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#137
def check_asgn_alignment(outer_node, inner_node); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#126
def check_assignment(node, rhs); end

# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#158
def check_other_alignment(node); end

end

# Checks for Windows-style line endings in the source code. # # @example EnforcedStyle: native (default) # # The ‘native` style means that CR+LF (Carriage Return + Line Feed) is # # enforced on Windows, and LF is enforced on other platforms. # # # bad # puts ’Hello’ # Return character is LF on Windows. # puts ‘Hello’ # Return character is CR+LF on other than Windows. # # # good # puts ‘Hello’ # Return character is CR+LF on Windows. # puts ‘Hello’ # Return character is LF on other than Windows. # @example EnforcedStyle: lf # # The ‘lf` style means that LF (Line Feed) is enforced on # # all platforms. # # # bad # puts ’Hello’ # Return character is CR+LF on all platforms. # # # good # puts ‘Hello’ # Return character is LF on all platforms. # @example EnforcedStyle: crlf # # The ‘crlf` style means that CR+LF (Carriage Return + Line Feed) is # # enforced on all platforms. # # # bad # puts ’Hello’ # Return character is LF on all platforms. # # # good # puts ‘Hello’ # Return character is CR+LF on all platforms. # # source://rubocop//lib/rubocop/cop/layout/end_of_line.rb#40 class RuboCop::Cop::Layout::EndOfLine < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/layout/end_of_line.rb#71
def offense_message(line); end

# source://rubocop//lib/rubocop/cop/layout/end_of_line.rb#47
def on_new_investigation; end

# If there is no LF on the last line, we don't care if there's no CR.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/end_of_line.rb#67
def unimportant_missing_cr?(index, last_line, line); end

private

# source://rubocop//lib/rubocop/cop/layout/end_of_line.rb#85
def last_line(processed_source); end

end

# source://rubocop//lib/rubocop/cop/layout/end_of_line.rb#44 RuboCop::Cop::Layout::EndOfLine::MSG_DETECTED = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/end_of_line.rb#45 RuboCop::Cop::Layout::EndOfLine::MSG_MISSING = T.let(T.unsafe(nil), String)

# Checks for extra/unnecessary whitespace. # # @example # # # good if AllowForAlignment is true # name = “RuboCop” # # Some comment and an empty line # # website += “/rubocop/rubocop” unless cond # puts “rubocop” if debug # # # bad for any configuration # set_app(“RuboCop”) # website = “github.com/rubocop/rubocop” # # # good only if AllowBeforeTrailingComments is true # object.method(arg) # this is a comment # # # good even if AllowBeforeTrailingComments is false or not set # object.method(arg) # this is a comment # # # good with either AllowBeforeTrailingComments or AllowForAlignment # object.method(arg) # this is a comment # another_object.method(arg) # this is another comment # some_object.method(arg) # this is some comment # # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#31 class RuboCop::Cop::Layout::ExtraSpacing < ::RuboCop::Cop::Base

include ::RuboCop::Cop::PrecedingFollowingAlignment
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#39
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#170
def align_column(asgn_token); end

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#147
def align_equal_sign(corrector, token, align_to); end

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#137
def align_equal_signs(range, corrector); end

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#52
def aligned_locations(locs); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#103
def aligned_tok?(token); end

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#159
def all_relevant_assignment_lines(line_number); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#179
def allow_for_trailing_comments?; end

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#72
def check_assignment(token); end

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#81
def check_other(token1, token2, ast); end

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#62
def check_tokens(ast, token1, token2); end

# @yield [range_between(start_pos, end_pos)]
#
# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#91
def extra_space_range(token1, token2); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#133
def force_equal_sign_alignment?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#111
def ignored_range?(ast, start_pos); end

# Returns an array of ranges that should not be reported. It's the
# extra spaces between the keys and values in a multiline hash,
# since those are handled by the Layout/HashAlignment cop.
#
# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#118
def ignored_ranges(ast); end

end

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#37 RuboCop::Cop::Layout::ExtraSpacing::MSG_UNALIGNED_ASGN = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#36 RuboCop::Cop::Layout::ExtraSpacing::MSG_UNNECESSARY = T.let(T.unsafe(nil), String)

# Checks the indentation of the first argument in a method call. # Arguments after the first one are checked by ‘Layout/ArgumentAlignment`, # not by this cop. # # For indenting the first parameter of method definitions, check out # `Layout/FirstParameterIndentation`. # # This cop will respect `Layout/ArgumentAlignment` and will not work when # `EnforcedStyle: with_fixed_indentation` is specified for `Layout/ArgumentAlignment`. # # @example # # # bad # some_method( # first_param, # second_param) # # foo = some_method( # first_param, # second_param) # # foo = some_method(nested_call( # nested_first_param), # second_param) # # foo = some_method( # nested_call( # nested_first_param), # second_param) # # some_method nested_call( # nested_first_param), # second_param # @example EnforcedStyle: special_for_inner_method_call_in_parentheses (default) # # Same as `special_for_inner_method_call` except that the special rule # # only applies if the outer method call encloses its arguments in # # parentheses. # # # good # some_method( # first_param, # second_param) # # foo = some_method( # first_param, # second_param) # # foo = some_method(nested_call( # nested_first_param), # second_param) # # foo = some_method( # nested_call( # nested_first_param), # second_param) # # some_method nested_call( # nested_first_param), # second_param # @example EnforcedStyle: consistent # # The first argument should always be indented one step more than the # # preceding line. # # # good # some_method( # first_param, # second_param) # # foo = some_method( # first_param, # second_param) # # foo = some_method(nested_call( # nested_first_param), # second_param) # # foo = some_method( # nested_call( # nested_first_param), # second_param) # # some_method nested_call( # nested_first_param), # second_param # @example EnforcedStyle: consistent_relative_to_receiver # # The first argument should always be indented one level relative to # # the parent that is receiving the argument # # # good # some_method( # first_param, # second_param) # # foo = some_method( # first_param, # second_param) # # foo = some_method(nested_call( # nested_first_param), # second_param) # # foo = some_method( # nested_call( # nested_first_param), # second_param) # # some_method nested_call( # nested_first_param), # second_params # @example EnforcedStyle: special_for_inner_method_call # # The first argument should normally be indented one step more than # # the preceding line, but if it’s a argument for a method call that # # is itself a argument in a method call, then the inner argument # # should be indented relative to the inner method. # # # good # some_method( # first_param, # second_param) # # foo = some_method( # first_param, # second_param) # # foo = some_method(nested_call( # nested_first_param), # second_param) # # foo = some_method( # nested_call( # nested_first_param), # second_param) # # some_method nested_call( # nested_first_param), # second_param # # source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#147 class RuboCop::Cop::Layout::FirstArgumentIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#222
def eligible_method_call?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#155
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#155
def on_send(node); end

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#155
def on_super(node); end

private

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#281
def argument_alignment_config; end

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#174
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#178
def bare_operator?(node); end

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#198
def base_indentation(node); end

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#226
def base_range(send_node, arg_node); end

# Returns the column of the given range. For single line ranges, this
# is simple. For ranges with line breaks, we look a the last code line.
#
# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#238
def column_of(range); end

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#259
def comment_lines; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#277
def enable_layout_first_method_argument_line_break?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#271
def enforce_first_argument_with_fixed_indentation?; end

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#182
def message(arg_node); end

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#267
def on_new_investigation; end

# Takes the line number of a given code line and returns a string
# containing the previous line that's not a comment line or a blank
# line.
#
# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#250
def previous_code_line(line_number); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#170
def should_check?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#206
def special_inner_call_indentation?(node); end

end

# source://rubocop//lib/rubocop/cop/layout/first_argument_indentation.rb#153 RuboCop::Cop::Layout::FirstArgumentIndentation::MSG = T.let(T.unsafe(nil), String)

# Checks the indentation of the first element in an array literal # where the opening bracket and the first element are on separate lines. # The other elements’ indentations are handled by ‘Layout/ArrayAlignment` cop. # # This cop will respect `Layout/ArrayAlignment` and will not work when # `EnforcedStyle: with_fixed_indentation` is specified for `Layout/ArrayAlignment`. # # By default, array literals that are arguments in a method call with # parentheses, and where the opening square bracket of the array is on the # same line as the opening parenthesis of the method call, shall have # their first element indented one step (two spaces) more than the # position inside the opening parenthesis. # # Other array literals shall have their first element indented one step # more than the start of the line where the opening square bracket is. # # This default style is called ’special_inside_parentheses’. Alternative # styles are ‘consistent’ and ‘align_brackets’. Here are examples: # # @example EnforcedStyle: special_inside_parentheses (default) # # The ‘special_inside_parentheses` style enforces that the first # # element in an array literal where the opening bracket and first # # element are on separate lines is indented one step (two spaces) more # # than the position inside the opening parenthesis. # # # bad # array = [ # :value # ] # and_in_a_method_call([ # :no_difference # ]) # # # good # array = [ # :value # ] # but_in_a_method_call([ # :its_like_this # ]) # @example EnforcedStyle: consistent # # The `consistent` style enforces that the first element in an array # # literal where the opening bracket and the first element are on # # separate lines is indented the same as an array literal which is not # # defined inside a method call. # # # bad # # consistent # array = [ # :value # ] # but_in_a_method_call([ # :its_like_this # ]) # # # good # array = [ # :value # ] # and_in_a_method_call([ # :no_difference # ]) # @example EnforcedStyle: align_brackets # # The `align_brackets` style enforces that the opening and closing # # brackets are indented to the same position. # # # bad # # align_brackets # and_now_for_something = [ # :completely_different # ] # # # good # # align_brackets # and_now_for_something = [ # :completely_different # ] # # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#85 class RuboCop::Cop::Layout::FirstArrayElementIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::MultilineElementIndentation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#94
def on_array(node); end

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#98
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#98
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#189
def array_alignment_config; end

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#109
def autocorrect(corrector, node); end

# Returns the description of what the correct indentation is based on.
#
# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#147
def base_description(indent_base_type); end

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#113
def brace_alignment_style; end

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#117
def check(array_node, left_parenthesis); end

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#131
def check_right_bracket(right_bracket, first_elem, left_bracket, left_parenthesis); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#183
def enforce_first_argument_with_fixed_indentation?; end

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#160
def message(base_description); end

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#168
def message_for_right_bracket(indent_base_type); end

end

# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#91 RuboCop::Cop::Layout::FirstArrayElementIndentation::MSG = T.let(T.unsafe(nil), String)

# Checks for a line break before the first element in a # multi-line array. # # @example # # # bad # [ :a, # :b] # # # good # [ # :a, # :b] # # # good # [:a, :b] # @example AllowMultilineFinalElement: false (default) # # # bad # [ :a, { # :b => :c # }] # # # good # [ # :a, { # :b => :c # }] # @example AllowMultilineFinalElement: true # # # good # [:a, { # :b => :c # }] # # source://rubocop//lib/rubocop/cop/layout/first_array_element_line_break.rb#43 class RuboCop::Cop::Layout::FirstArrayElementLineBreak < ::RuboCop::Cop::Base

include ::RuboCop::Cop::FirstElementLineBreak
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/first_array_element_line_break.rb#49
def on_array(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_array_element_line_break.rb#57
def assignment_on_same_line?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_array_element_line_break.rb#62
def ignore_last_element?; end

end

# source://rubocop//lib/rubocop/cop/layout/first_array_element_line_break.rb#47 RuboCop::Cop::Layout::FirstArrayElementLineBreak::MSG = T.let(T.unsafe(nil), String)

# Checks the indentation of the first key in a hash literal # where the opening brace and the first key are on separate lines. The # other keys’ indentations are handled by the HashAlignment cop. # # By default, Hash literals that are arguments in a method call with # parentheses, and where the opening curly brace of the hash is on the # same line as the opening parenthesis of the method call, shall have # their first key indented one step (two spaces) more than the position # inside the opening parenthesis. # # Other hash literals shall have their first key indented one step more # than the start of the line where the opening curly brace is. # # This default style is called ‘special_inside_parentheses’. Alternative # styles are ‘consistent’ and ‘align_braces’. Here are examples: # # @example EnforcedStyle: special_inside_parentheses (default) # # The ‘special_inside_parentheses` style enforces that the first key # # in a hash literal where the opening brace and the first key are on # # separate lines is indented one step (two spaces) more than the # # position inside the opening parentheses. # # # bad # hash = { # key: :value # } # and_in_a_method_call({ # no: :difference # }) # takes_multi_pairs_hash(x: { # a: 1, # b: 2 # }, # y: { # c: 1, # d: 2 # }) # # # good # special_inside_parentheses # hash = { # key: :value # } # but_in_a_method_call({ # its_like: :this # }) # takes_multi_pairs_hash(x: { # a: 1, # b: 2 # }, # y: { # c: 1, # d: 2 # }) # @example EnforcedStyle: consistent # # The `consistent` style enforces that the first key in a hash # # literal where the opening brace and the first key are on # # separate lines is indented the same as a hash literal which is not # # defined inside a method call. # # # bad # hash = { # key: :value # } # but_in_a_method_call({ # its_like: :this # }) # # # good # hash = { # key: :value # } # and_in_a_method_call({ # no: :difference # }) # @example EnforcedStyle: align_braces # # The `align_brackets` style enforces that the opening and closing # # braces are indented to the same position. # # # bad # and_now_for_something = { # completely: :different # } # takes_multi_pairs_hash(x: { # a: 1, # b: 2 # }, # y: { # c: 1, # d: 2 # }) # # # good # and_now_for_something = { # completely: :different # } # takes_multi_pairs_hash(x: { # a: 1, # b: 2 # }, # y: { # c: 1, # d: 2 # }) # # source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#113 class RuboCop::Cop::Layout::FirstHashElementIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::MultilineElementIndentation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#126
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#122
def on_hash(node); end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#126
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#233
def argument_alignment_config; end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#137
def autocorrect(corrector, node); end

# Returns the description of what the correct indentation is based on.
#
# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#191
def base_description(indent_base_type); end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#141
def brace_alignment_style; end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#145
def check(hash_node, left_parenthesis); end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#184
def check_based_on_longest_key(hash_node, left_brace, left_parenthesis); end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#164
def check_right_brace(right_brace, first_pair, left_brace, left_parenthesis); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#227
def enforce_first_argument_with_fixed_indentation?; end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#204
def message(base_description); end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#212
def message_for_right_brace(indent_base_type); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#178
def separator_style?(first_pair); end

end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_indentation.rb#119 RuboCop::Cop::Layout::FirstHashElementIndentation::MSG = T.let(T.unsafe(nil), String)

# Checks for a line break before the first element in a # multi-line hash. # # @example # # # bad # { a: 1, # b: 2} # # # good # { # a: 1, # b: 2 } # # # good # { # a: 1, b: { # c: 3 # }} # @example AllowMultilineFinalElement: false (default) # # # bad # { a: 1, b: { # c: 3 # }} # @example AllowMultilineFinalElement: true # # # bad # { a: 1, # b: { # c: 3 # }} # # # good # { a: 1, b: { # c: 3 # }} # # source://rubocop//lib/rubocop/cop/layout/first_hash_element_line_break.rb#46 class RuboCop::Cop::Layout::FirstHashElementLineBreak < ::RuboCop::Cop::Base

include ::RuboCop::Cop::FirstElementLineBreak
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_line_break.rb#52
def on_hash(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_hash_element_line_break.rb#62
def ignore_last_element?; end

end

# source://rubocop//lib/rubocop/cop/layout/first_hash_element_line_break.rb#50 RuboCop::Cop::Layout::FirstHashElementLineBreak::MSG = T.let(T.unsafe(nil), String)

# Checks for a line break before the first argument in a # multi-line method call. # # @example # # # bad # method(foo, bar, # baz) # # # good # method( # foo, bar, # baz) # # # ignored # method foo, bar, # baz # @example AllowMultilineFinalElement: false (default) # # # bad # method(foo, bar, { # baz: “a”, # qux: “b”, # }) # # # good # method( # foo, bar, { # baz: “a”, # qux: “b”, # }) # @example AllowMultilineFinalElement: true # # # bad # method(foo, # bar, # { # baz: “a”, # qux: “b”, # } # ) # # # good # method(foo, bar, { # baz: “a”, # qux: “b”, # }) # # # good # method( # foo, # bar, # { # baz: “a”, # qux: “b”, # } # ) # # source://rubocop//lib/rubocop/cop/layout/first_method_argument_line_break.rb#66 class RuboCop::Cop::Layout::FirstMethodArgumentLineBreak < ::RuboCop::Cop::Base

include ::RuboCop::Cop::FirstElementLineBreak
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/first_method_argument_line_break.rb#72
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/first_method_argument_line_break.rb#72
def on_send(node); end

# source://rubocop//lib/rubocop/cop/layout/first_method_argument_line_break.rb#72
def on_super(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_method_argument_line_break.rb#91
def ignore_last_element?; end

end

# source://rubocop//lib/rubocop/cop/layout/first_method_argument_line_break.rb#70 RuboCop::Cop::Layout::FirstMethodArgumentLineBreak::MSG = T.let(T.unsafe(nil), String)

# Checks for a line break before the first parameter in a # multi-line method parameter definition. # # @example # # # bad # def method(foo, bar, # baz) # do_something # end # # # good # def method( # foo, bar, # baz) # do_something # end # # # ignored # def method foo, # bar # do_something # end # @example AllowMultilineFinalElement: false (default) # # # bad # def method(foo, bar, baz = { # :a => “b”, # }) # do_something # end # # # good # def method( # foo, bar, baz = { # :a => “b”, # }) # do_something # end # @example AllowMultilineFinalElement: true # # # good # def method(foo, bar, baz = { # :a => “b”, # }) # do_something # end # # source://rubocop//lib/rubocop/cop/layout/first_method_parameter_line_break.rb#56 class RuboCop::Cop::Layout::FirstMethodParameterLineBreak < ::RuboCop::Cop::Base

include ::RuboCop::Cop::FirstElementLineBreak
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/first_method_parameter_line_break.rb#62
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/first_method_parameter_line_break.rb#62
def on_defs(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/first_method_parameter_line_break.rb#69
def ignore_last_element?; end

end

# source://rubocop//lib/rubocop/cop/layout/first_method_parameter_line_break.rb#60 RuboCop::Cop::Layout::FirstMethodParameterLineBreak::MSG = T.let(T.unsafe(nil), String)

# Checks the indentation of the first parameter in a method # definition. Parameters after the first one are checked by # Layout/ParameterAlignment, not by this cop. # # For indenting the first argument of method calls, check out # Layout/FirstArgumentIndentation, which supports options related to # nesting that are irrelevant for method definitions. # # @example # # # bad # def some_method( # first_param, # second_param) # 123 # end # @example EnforcedStyle: consistent (default) # # The first parameter should always be indented one step more than the # # preceding line. # # # good # def some_method( # first_param, # second_param) # 123 # end # @example EnforcedStyle: align_parentheses # # The first parameter should always be indented one step more than the # # opening parenthesis. # # # good # def some_method( # first_param, # second_param) # 123 # end # # source://rubocop//lib/rubocop/cop/layout/first_parameter_indentation.rb#44 class RuboCop::Cop::Layout::FirstParameterIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::MultilineElementIndentation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/first_parameter_indentation.rb#53
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/first_parameter_indentation.rb#53
def on_defs(node); end

private

# source://rubocop//lib/rubocop/cop/layout/first_parameter_indentation.rb#63
def autocorrect(corrector, node); end

# Returns the description of what the correct indentation is based on.
#
# source://rubocop//lib/rubocop/cop/layout/first_parameter_indentation.rb#83
def base_description(_); end

# source://rubocop//lib/rubocop/cop/layout/first_parameter_indentation.rb#67
def brace_alignment_style; end

# source://rubocop//lib/rubocop/cop/layout/first_parameter_indentation.rb#71
def check(def_node); end

# source://rubocop//lib/rubocop/cop/layout/first_parameter_indentation.rb#91
def message(base_description); end

end

# source://rubocop//lib/rubocop/cop/layout/first_parameter_indentation.rb#50 RuboCop::Cop::Layout::FirstParameterIndentation::MSG = T.let(T.unsafe(nil), String)

# Check that the keys, separators, and values of a multi-line hash # literal are aligned according to configuration. The configuration # options are: # # * key (left align keys, one space before hash rockets and values) # * separator (align hash rockets and colons, right align keys) # * table (left align keys, hash rockets, and values) # # The treatment of hashes passed as the last argument to a method call # can also be configured. The options are: # # * always_inspect # * always_ignore # * ignore_implicit (without curly braces) # # Alternatively you can specify multiple allowed styles. That’s done by # passing a list of styles to EnforcedStyles. # # @example EnforcedHashRocketStyle: key (default) # # bad # { # :foo => bar, # :ba => baz # } # { # :foo => bar, # :ba => baz # } # # # good # { # :foo => bar, # :ba => baz # } # @example EnforcedHashRocketStyle: separator # # bad # { # :foo => bar, # :ba => baz # } # { # :foo => bar, # :ba => baz # } # # # good # { # :foo => bar, # :ba => baz # } # @example EnforcedHashRocketStyle: table # # bad # { # :foo => bar, # :ba => baz # } # # # good # { # :foo => bar, # :ba => baz # } # @example EnforcedColonStyle: key (default) # # bad # { # foo: bar, # ba: baz # } # { # foo: bar, # ba: baz # } # # # good # { # foo: bar, # ba: baz # } # @example EnforcedColonStyle: separator # # bad # { # foo: bar, # ba: baz # } # # # good # { # foo: bar, # ba: baz # } # @example EnforcedColonStyle: table # # bad # { # foo: bar, # ba: baz # } # # # good # { # foo: bar, # ba: baz # } # @example EnforcedLastArgumentHashStyle: always_inspect (default) # # Inspect both implicit and explicit hashes. # # # bad # do_something(foo: 1, # bar: 2) # # # bad # do_something({foo: 1, # bar: 2}) # # # good # do_something(foo: 1, # bar: 2) # # # good # do_something( # foo: 1, # bar: 2 # ) # # # good # do_something({foo: 1, # bar: 2}) # # # good # do_something({ # foo: 1, # bar: 2 # }) # @example EnforcedLastArgumentHashStyle: always_ignore # # Ignore both implicit and explicit hashes. # # # good # do_something(foo: 1, # bar: 2) # # # good # do_something({foo: 1, # bar: 2}) # @example EnforcedLastArgumentHashStyle: ignore_implicit # # Ignore only implicit hashes. # # # bad # do_something({foo: 1, # bar: 2}) # # # good # do_something(foo: 1, # bar: 2) # @example EnforcedLastArgumentHashStyle: ignore_explicit # # Ignore only explicit hashes. # # # bad # do_something(foo: 1, # bar: 2) # # # good # do_something({foo: 1, # bar: 2}) # # source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#178 class RuboCop::Cop::Layout::HashAlignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::HashAlignmentStyles
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# Returns the value of attribute column_deltas.
#
# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#218
def column_deltas; end

# Sets the attribute column_deltas
#
# @param value the value to set the attribute column_deltas to.
#
# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#218
def column_deltas=(_arg0); end

# Returns the value of attribute offenses_by.
#
# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#218
def offenses_by; end

# Sets the attribute offenses_by
#
# @param value the value to set the attribute offenses_by to.
#
# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#218
def offenses_by=(_arg0); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#208
def on_hash(node); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#195
def on_send(node); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#195
def on_super(node); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#195
def on_yield(node); end

private

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#265
def add_offenses; end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#371
def adjust(corrector, delta, range); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#300
def alignment_for(pair); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#314
def alignment_for_colons; end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#310
def alignment_for_hash_rockets; end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#390
def argument_alignment_config; end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#233
def argument_before_hash(hash_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#222
def autocorrect_incompatible_with_other_cops?(node); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#283
def check_delta(delta, node:, alignment:); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#246
def check_pairs(node); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#337
def correct_key_value(corrector, delta, key, value, separator); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#333
def correct_no_value(corrector, key_delta, key); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#318
def correct_node(corrector, node, delta); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#242
def double_splat?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#384
def enforce_first_argument_with_fixed_indentation?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#380
def good_alignment?(column_deltas); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#291
def ignore_hash_argument?(node); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#353
def new_alignment(key); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#273
def register_offenses_with_format(offenses, format); end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#237
def reset!; end

end

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#183 RuboCop::Cop::Layout::HashAlignment::MESSAGES = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#193 RuboCop::Cop::Layout::HashAlignment::SEPARATOR_ALIGNMENT_STYLES = T.let(T.unsafe(nil), Array)

# Checks for the placement of the closing parenthesis # in a method call that passes a HEREDOC string as an argument. # It should be placed at the end of the line containing the # opening HEREDOC tag. # # @example # # bad # # foo(<<-SQL # bar # SQL # ) # # foo(<<-SQL, 123, <<-NOSQL, # bar # SQL # baz # NOSQL # ) # # foo( # bar(<<-SQL # baz # SQL # ), # 123, # ) # # # good # # foo(<<-SQL) # bar # SQL # # foo(<<-SQL, 123, <<-NOSQL) # bar # SQL # baz # NOSQL # # foo( # bar(<<-SQL), # baz # SQL # 123, # ) # # source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#53 class RuboCop::Cop::Layout::HeredocArgumentClosingParenthesis < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#64
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#184
def add_correct_closing_paren(node, corrector); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#271
def add_correct_external_trailing_comma(node, corrector); end

# Autocorrection note:
#
# Commas are a bit tricky to handle when the method call is
# embedded in another expression. Here's an example:
#
# [
#   first_array_value,
#   foo(<<-SQL, 123, 456,
#     SELECT * FROM db
#   SQL
#   ),
#   third_array_value,
# ]
#
# The "internal" trailing comma is after `456`.
# The "external" trailing comma is after `)`.
#
# To autocorrect, we remove the latter, and move the former up:
#
# [
#   first_array_value,
#   foo(<<-SQL, 123, 456),
#     SELECT * FROM db
#   SQL
#   third_array_value,
# ]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#107
def autocorrect(corrector, node); end

# Closing parenthesis helpers.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#162
def end_keyword_before_closing_parenthesis?(parenthesized_send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#222
def exist_argument_between_heredoc_end_and_closing_parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#289
def external_trailing_comma?(node); end

# Returns nil if no trailing external comma.
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#294
def external_trailing_comma_offset_from_loc_end(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#137
def extract_heredoc(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#133
def extract_heredoc_argument(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#230
def find_most_bottom_of_heredoc_end(arguments); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#179
def fix_closing_parenthesis(node, corrector); end

# External trailing comma helpers.
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#266
def fix_external_trailing_comma(node, corrector); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#149
def heredoc_node?(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#197
def incorrect_parenthesis_removal_begin(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#213
def incorrect_parenthesis_removal_end(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#244
def internal_trailing_comma?(node); end

# Returns nil if no trailing internal comma.
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#249
def internal_trailing_comma_offset_from_last_arg(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#115
def outermost_send_on_same_line(heredoc); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#188
def remove_incorrect_closing_paren(node, corrector); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#277
def remove_incorrect_external_trailing_comma(node, corrector); end

# Internal trailing comma helpers.
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#238
def remove_internal_trailing_comma(node, corrector); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#207
def safe_to_remove_line_containing_closing_paren?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#126
def send_missing_closing_parens?(parent, child, heredoc); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#153
def single_line_send_with_heredoc_receiver?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#305
def space?(pos); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#168
def subsequent_closing_parentheses_in_same_line?(outermost_send); end

class << self
  # source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#60
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb#57 RuboCop::Cop::Layout::HeredocArgumentClosingParenthesis::MSG = T.let(T.unsafe(nil), String)

# Checks the indentation of the here document bodies. The bodies # are indented one step. # # Note: When “Layout/LineLength“‘s `AllowHeredoc` is false (not default), # this cop does not add any offenses for long here documents to # avoid “Layout/LineLength“’s offenses. # # @example # # bad # <<-RUBY # something # RUBY # # # good # <<~RUBY # something # RUBY # # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#24 class RuboCop::Cop::Layout::HeredocIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::Heredoc
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#36
def on_heredoc(node); end

private

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#120
def adjust_minus(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#115
def adjust_squiggly(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#144
def base_indent_level(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#155
def heredoc_body(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#159
def heredoc_end(node); end

# Returns '~', '-' or nil
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#151
def heredoc_indent_type(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#126
def indented_body(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#133
def indented_end(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#91
def line_too_long?(node); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#103
def longest_line(lines); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#111
def max_line_length; end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#69
def message(heredoc_indent_type); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#57
def register_offense(node, heredoc_indent_type); end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#79
def type_message(indentation_width, current_indent_type); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#107
def unlimited_heredoc_length?; end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#87
def width_message(indentation_width); end

end

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#32 RuboCop::Cop::Layout::HeredocIndentation::TYPE_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#34 RuboCop::Cop::Layout::HeredocIndentation::WIDTH_MSG = T.let(T.unsafe(nil), String)

# Checks for inconsistent indentation. # # The difference between ‘indented_internal_methods` and `normal` is # that the `indented_internal_methods` style prescribes that in # classes and modules the `protected` and `private` modifier keywords # shall be indented the same as public methods and that protected and # private members shall be indented one step more than the modifiers. # Other than that, both styles mean that entities on the same logical # depth shall have the same indentation. # # @example EnforcedStyle: normal (default) # # bad # class A # def test # puts ’hello’ # puts ‘world’ # end # end # # # bad # class A # def test # puts ‘hello’ # puts ‘world’ # end # # protected # # def foo # end # # private # # def bar # end # end # # # good # class A # def test # puts ‘hello’ # puts ‘world’ # end # end # # # good # class A # def test # puts ‘hello’ # puts ‘world’ # end # # protected # # def foo # end # # private # # def bar # end # end # @example EnforcedStyle: indented_internal_methods # # bad # class A # def test # puts ‘hello’ # puts ‘world’ # end # end # # # bad # class A # def test # puts ‘hello’ # puts ‘world’ # end # # protected # # def foo # end # # private # # def bar # end # end # # # good # class A # def test # puts ‘hello’ # puts ‘world’ # end # end # # # good # class A # def test # puts ‘hello’ # puts ‘world’ # end # # protected # # def foo # end # # private # # def bar # end # end # # source://rubocop//lib/rubocop/cop/layout/indentation_consistency.rb#121 class RuboCop::Cop::Layout::IndentationConsistency < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/indentation_consistency.rb#128
def on_begin(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_consistency.rb#132
def on_kwbegin(node); end

private

# source://rubocop//lib/rubocop/cop/layout/indentation_consistency.rb#138
def autocorrect(corrector, node); end

# Not all nodes define `bare_access_modifier?` (for example,
# `RuboCop::AST::DefNode` does not), so we must check `send_type?` first
# to avoid a NoMethodError.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/indentation_consistency.rb#145
def bare_access_modifier?(node); end

# Returns an integer representing the correct indentation, or nil to
# indicate that the correct indentation is that of the first child that
# is not an access modifier.
#
# source://rubocop//lib/rubocop/cop/layout/indentation_consistency.rb#152
def base_column_for_normal_style(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_consistency.rb#172
def check(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_consistency.rb#187
def check_indented_internal_methods_style(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_consistency.rb#180
def check_normal_style(node); end

end

# source://rubocop//lib/rubocop/cop/layout/indentation_consistency.rb#126 RuboCop::Cop::Layout::IndentationConsistency::MSG = T.let(T.unsafe(nil), String)

# Checks that the indentation method is consistent. # Either tabs only or spaces only are used for indentation. # # @example EnforcedStyle: spaces (default) # # bad # # This example uses a tab to indent bar. # def foo # bar # end # # # good # # This example uses spaces to indent bar. # def foo # bar # end # @example EnforcedStyle: tabs # # bad # # This example uses spaces to indent bar. # def foo # bar # end # # # good # # This example uses a tab to indent bar. # def foo # bar # end # # source://rubocop//lib/rubocop/cop/layout/indentation_style.rb#34 class RuboCop::Cop::Layout::IndentationStyle < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/indentation_style.rb#42
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/layout/indentation_style.rb#58
def autocorrect(corrector, range); end

# source://rubocop//lib/rubocop/cop/layout/indentation_style.rb#82
def autocorrect_lambda_for_spaces(corrector, range); end

# source://rubocop//lib/rubocop/cop/layout/indentation_style.rb#77
def autocorrect_lambda_for_tabs(corrector, range); end

# source://rubocop//lib/rubocop/cop/layout/indentation_style.rb#66
def find_offense(line, lineno); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/indentation_style.rb#88
def in_string_literal?(ranges, tabs_range); end

# source://rubocop//lib/rubocop/cop/layout/indentation_style.rb#109
def message(_node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_style.rb#92
def string_literal_ranges(ast); end

end

# source://rubocop//lib/rubocop/cop/layout/indentation_style.rb#40 RuboCop::Cop::Layout::IndentationStyle::MSG = T.let(T.unsafe(nil), String)

# Checks for indentation that doesn’t use the specified number # of spaces. # # See also the IndentationConsistency cop which is the companion to this # one. # # @example # # bad # class A # def test # puts ‘hello’ # end # end # # # good # class A # def test # puts ‘hello’ # end # end # @example AllowedPatterns: [‘^s*module’] # # bad # module A # class B # def test # puts ‘hello’ # end # end # end # # # good # module A # class B # def test # puts ‘hello’ # end # end # end # # source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#45 class RuboCop::Cop::Layout::IndentationWidth < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::EndKeywordAlignment
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::CheckAssignment
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#57
def access_modifier?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#81
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#138
def on_case(case_node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#146
def on_case_match(case_match); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#95
def on_class(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#104
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#121
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#121
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#66
def on_ensure(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#66
def on_for(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#156
def on_if(node, base = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#73
def on_kwbegin(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#95
def on_module(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#81
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#66
def on_resbody(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#61
def on_rescue(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#95
def on_sclass(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#104
def on_send(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#128
def on_until(node, base = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#128
def on_while(node, base = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#227
def access_modifier_indentation_style; end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#165
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#235
def check_assignment(node, rhs); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#255
def check_if(node, body, else_clause, base_loc); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#268
def check_indentation(base_loc, body_node, style = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#169
def check_members(base, members); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#193
def check_members_for_indented_internal_methods_style(members); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#199
def check_members_for_normal_style(base, members); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#341
def check_rescue?(rescue_node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#377
def configured_indentation_width; end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#207
def each_member(members); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#231
def indentation_consistency_style; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#323
def indentation_to_check?(base_loc, body_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#219
def indented_internal_methods_style?; end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#381
def leftmost_modifier_of(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#302
def message(configured_indentation_width, indentation, name); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#360
def offending_range(body_node, indentation); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#278
def offense(body_node, indentation, style); end

# Returns true if the given node is within another node that has
# already been marked for autocorrection by this cop.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#313
def other_offense_in_same_range?(node); end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#181
def select_check_member(member); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#345
def skip_check?(base_loc, body_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#223
def special_modifier?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#368
def starts_with_access_modifier?(body_node); end

end

# source://rubocop//lib/rubocop/cop/layout/indentation_width.rb#53 RuboCop::Cop::Layout::IndentationWidth::MSG = T.let(T.unsafe(nil), String)

# Checks for indentation of the first non-blank non-comment # line in a file. # # @example # # bad # class A # def foo; end # end # # # good # class A # def foo; end # end # # source://rubocop//lib/rubocop/cop/layout/initial_indentation.rb#20 class RuboCop::Cop::Layout::InitialIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/initial_indentation.rb#26
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/layout/initial_indentation.rb#36
def first_token; end

# @yield [range_between(space_range.begin_pos, token.begin_pos)]
#
# source://rubocop//lib/rubocop/cop/layout/initial_indentation.rb#40
def space_before(token); end

end

# source://rubocop//lib/rubocop/cop/layout/initial_indentation.rb#24 RuboCop::Cop::Layout::InitialIndentation::MSG = T.let(T.unsafe(nil), String)

# Checks whether comments have a leading space after the # ‘#` denoting the start of the comment. The leading space is not # required for some RDoc special syntax, like `#++`, `#–`, # `#:nodoc`, `=begin`- and `=end` comments, “shebang” directives, # or rackup options. # # @example # # # bad # Some comment # # # good # # Some comment # @example AllowDoxygenCommentStyle: false (default) # # # bad # # ** # # Some comment # # Another line of comment # * # @example AllowDoxygenCommentStyle: true # # # good # # ** # # Some comment # # Another line of comment # * # @example AllowGemfileRubyComment: false (default) # # # bad # # ruby=2.7.0 # ruby-gemset=myproject # @example AllowGemfileRubyComment: true # # # good # # ruby=2.7.0 # ruby-gemset=myproject # # source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#52 class RuboCop::Cop::Layout::LeadingCommentSpace < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#58
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#95
def allow_doxygen_comment?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#103
def allow_gemfile_ruby_comment?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#79
def allowed_on_first_line?(comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#99
def doxygen_comment_style?(comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#107
def gemfile?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#115
def gemfile_ruby_comment?(comment); end

# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#75
def hash_mark(expr); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#91
def rackup_config_file?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#87
def rackup_options?(comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#111
def ruby_comment_in_gemfile?(comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#83
def shebang?(comment); end

end

# source://rubocop//lib/rubocop/cop/layout/leading_comment_space.rb#56 RuboCop::Cop::Layout::LeadingCommentSpace::MSG = T.let(T.unsafe(nil), String)

# Checks for unnecessary leading blank lines at the beginning # of a file. # # @example # # # bad # # (start of file) # # class Foo # end # # # bad # # (start of file) # # # a comment # # # good # # (start of file) # class Foo # end # # # good # # (start of file) # # a comment # # source://rubocop//lib/rubocop/cop/layout/leading_empty_lines.rb#30 class RuboCop::Cop::Layout::LeadingEmptyLines < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/leading_empty_lines.rb#35
def on_new_investigation; end

end

# source://rubocop//lib/rubocop/cop/layout/leading_empty_lines.rb#33 RuboCop::Cop::Layout::LeadingEmptyLines::MSG = T.let(T.unsafe(nil), String)

# Checks that strings broken over multiple lines (by a backslash) contain # trailing spaces instead of leading spaces (default) or leading spaces # instead of trailing spaces. # # @example EnforcedStyle: trailing (default) # # bad # ‘this text contains a lot of’ \ # ‘ spaces’ # # # good # ‘this text contains a lot of ’ \ # ‘spaces’ # # # bad # ‘this text is too’ \ # ‘ long’ # # # good # ‘this text is too ’ \ # ‘long’ # @example EnforcedStyle: leading # # bad # ‘this text contains a lot of ’ \ # ‘spaces’ # # # good # ‘this text contains a lot of’ \ # ‘ spaces’ # # # bad # ‘this text is too ’ \ # ‘long’ # # # good # ‘this text is too’ \ # ‘ long’ # # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#43 class RuboCop::Cop::Layout::LineContinuationLeadingSpace < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#54
def on_dstr(node); end

private

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#113
def autocorrect(corrector, offense_range, insert_pos, spaces); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#106
def continuation?(line, line_num, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#138
def enforced_style_leading?; end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#76
def investigate(first_line, second_line, end_of_first_line); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#84
def investigate_leading_style(first_line, second_line, end_of_first_line); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#95
def investigate_trailing_style(first_line, second_line, end_of_first_line); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#118
def leading_offense_range(end_of_first_line, matches); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#130
def message(_range); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#72
def raw_lines(node); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#124
def trailing_offense_range(end_of_first_line, matches); end

end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#49 RuboCop::Cop::Layout::LineContinuationLeadingSpace::LEADING_STYLE_OFFENSE = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#47 RuboCop::Cop::Layout::LineContinuationLeadingSpace::LINE_1_ENDING = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#48 RuboCop::Cop::Layout::LineContinuationLeadingSpace::LINE_2_BEGINNING = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#50 RuboCop::Cop::Layout::LineContinuationLeadingSpace::TRAILING_STYLE_OFFENSE = T.let(T.unsafe(nil), Regexp)

# Checks that the backslash of a line continuation is separated from # preceding text by exactly one space (default) or zero spaces. # # @example EnforcedStyle: space (default) # # bad # ‘a’\ # ‘b’ \ # ‘c’ # # # good # ‘a’ \ # ‘b’ \ # ‘c’ # @example EnforcedStyle: no_space # # bad # ‘a’ \ # ‘b’ \ # ‘c’ # # # good # ‘a’\ # ‘b’\ # ‘c’ # # source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#30 class RuboCop::Cop::Layout::LineContinuationSpacing < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#34
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#81
def autocorrect(corrector, range); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#111
def comment_ranges(comments); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#65
def find_offensive_spacing(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#121
def ignore_range?(backtick_range); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#91
def ignored_literal_ranges(ast); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#125
def ignored_ranges; end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#49
def investigate(line, line_number); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#115
def last_line(processed_source); end

# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#73
def message(_range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#130
def no_space_style?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_continuation_spacing.rb#134
def space_style?; end

end

# Checks the indentation of the next line after a line that ends with a string # literal and a backslash. # # If ‘EnforcedStyle: aligned` is set, the concatenated string parts shall be aligned with the # first part. There are some exceptions, such as implicit return values, where the # concatenated string parts shall be indented regardless of `EnforcedStyle` configuration. # # If `EnforcedStyle: indented` is set, it’s the second line that shall be indented one step # more than the first line. Lines 3 and forward shall be aligned with line 2. # # @example # # bad # def some_method # ‘x’ \ # ‘y’ \ # ‘z’ # end # # my_hash = { # first: ‘a message’ \ # ‘in two parts’ # } # # # good # def some_method # ‘x’ \ # ‘y’ \ # ‘z’ # end # @example EnforcedStyle: aligned (default) # # bad # puts ‘x’ \ # ‘y’ # # my_hash = { # first: ‘a message’ \ # ‘in two parts’ # } # # # good # puts ‘x’ \ # ‘y’ # # my_hash = { # first: ‘a message’ \ # ‘in two parts’ # } # @example EnforcedStyle: indented # # bad # result = ‘x’ \ # ‘y’ # # my_hash = { # first: ‘a message’ \ # ‘in two parts’ # } # # # good # result = ‘x’ \ # ‘y’ # # my_hash = { # first: ‘a message’ \ # ‘in two parts’ # } # # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#74 class RuboCop::Cop::Layout::LineEndStringConcatenationIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#97
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#83
def on_dstr(node); end

private

# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#137
def add_offense_and_correction(node, message); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#109
def always_indented?(dstr_node); end

# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#128
def base_column(child); end

# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#113
def check_aligned(children, start_index); end

# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#122
def check_indented(children); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#103
def strings_concatenated_with_backslash?(dstr_node); end

end

# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#79 RuboCop::Cop::Layout::LineEndStringConcatenationIndentation::MSG_ALIGN = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#80 RuboCop::Cop::Layout::LineEndStringConcatenationIndentation::MSG_INDENT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#81 RuboCop::Cop::Layout::LineEndStringConcatenationIndentation::PARENT_TYPES_FOR_INDENTED = T.let(T.unsafe(nil), Array)

# Checks the length of lines in the source code. # The maximum length is configurable. # The tab size is configured in the ‘IndentationWidth` # of the `Layout/IndentationStyle` cop. # It also ignores a shebang line by default. # # This cop has some autocorrection capabilities. # It can programmatically shorten certain long lines by # inserting line breaks into expressions that can be safely # split across lines. These include arrays, hashes, and # method calls with argument lists. # # If autocorrection is enabled, the following Layout cops # are recommended to further format the broken lines. # (Many of these are enabled by default.) # # * ArgumentAlignment # * ArrayAlignment # * BlockAlignment # * BlockDelimiters # * BlockEndNewline # * ClosingParenthesisIndentation # * FirstArgumentIndentation # * FirstArrayElementIndentation # * FirstHashElementIndentation # * FirstParameterIndentation # * HashAlignment # * IndentationWidth # * MultilineArrayLineBreaks # * MultilineBlockLayout # * MultilineHashBraceLayout # * MultilineHashKeyLineBreaks # * MultilineMethodArgumentLineBreaks # * MultilineMethodParameterLineBreaks # * ParameterAlignment # # Together, these cops will pretty print hashes, arrays, # method calls, etc. For example, let’s say the max columns # is 25: # # @example # # # bad # {foo: “0000000000”, bar: “0000000000”, baz: “0000000000”} # # # good # {foo: “0000000000”, # bar: “0000000000”, baz: “0000000000”} # # # good (with recommended cops enabled) # { # foo: “0000000000”, # bar: “0000000000”, # baz: “0000000000”, # } # # source://rubocop//lib/rubocop/cop/layout/line_length.rb#63 class RuboCop::Cop::Layout::LineLength < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CheckLineBreakable
include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/exclude_limit.rb#11
def max=(value); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#80
def on_array(node); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#74
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#80
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#80
def on_hash(node); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#94
def on_investigation_end; end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#88
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#74
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#80
def on_potential_breakable_node(node); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#80
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_length.rb#219
def allow_heredoc?; end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#223
def allowed_heredoc; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_length.rb#183
def allowed_line?(line, line_index); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#135
def breakable_block_range(block_node); end

# Returns the value of attribute breakable_range.
#
# source://rubocop//lib/rubocop/cop/layout/line_length.rb#102
def breakable_range; end

# Sets the attribute breakable_range
#
# @param value the value to set the attribute breakable_range to.
#
# source://rubocop//lib/rubocop/cop/layout/line_length.rb#102
def breakable_range=(_arg0); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#143
def breakable_range_after_semicolon(semicolon_token); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#156
def breakable_range_by_line_index; end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#250
def check_directive_line(line, line_index); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#125
def check_for_breakable_block(block_node); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#104
def check_for_breakable_node(node); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#117
def check_for_breakable_semicolons(processed_source); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#171
def check_line(line, line_index); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#267
def check_uri_line(line, line_index); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#204
def excess_range(uri_range, line, line_index); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#227
def extract_heredocs(ast); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#160
def heredocs; end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#164
def highlight_start(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_length.rb#246
def line_in_heredoc?(line_number); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_length.rb#237
def line_in_permitted_heredoc?(line_number); end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#215
def max; end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#193
def register_offense(loc, line, line_index, length: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/line_length.rb#189
def shebang?(line, line_index); end

end

# source://rubocop//lib/rubocop/cop/layout/line_length.rb#72 RuboCop::Cop::Layout::LineLength::MSG = T.let(T.unsafe(nil), String)

# Checks that the closing brace in an array literal is either # on the same line as the last array element or on a new line. # # When using the ‘symmetrical` (default) style: # # If an array’s opening brace is on the same line as the first element # of the array, then the closing brace should be on the same line as # the last element of the array. # # If an array’s opening brace is on the line above the first element # of the array, then the closing brace should be on the line below # the last element of the array. # # When using the ‘new_line` style: # # The closing brace of a multi-line array literal must be on the line # after the last element of the array. # # When using the `same_line` style: # # The closing brace of a multi-line array literal must be on the same # line as the last element of the array. # # @example EnforcedStyle: symmetrical (default) # # bad # [ :a, # :b # ] # # # bad # [ # :a, # :b ] # # # good # [ :a, # :b ] # # # good # [ # :a, # :b # ] # @example EnforcedStyle: new_line # # bad # [ # :a, # :b ] # # # bad # [ :a, # :b ] # # # good # [ :a, # :b # ] # # # good # [ # :a, # :b # ] # @example EnforcedStyle: same_line # # bad # [ :a, # :b # ] # # # bad # [ # :a, # :b # ] # # # good # [ # :a, # :b ] # # # good # [ :a, # :b ] # # source://rubocop//lib/rubocop/cop/layout/multiline_array_brace_layout.rb#91 class RuboCop::Cop::Layout::MultilineArrayBraceLayout < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::MultilineLiteralBraceLayout
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_array_brace_layout.rb#109
def on_array(node); end

end

# source://rubocop//lib/rubocop/cop/layout/multiline_array_brace_layout.rb#103 RuboCop::Cop::Layout::MultilineArrayBraceLayout::ALWAYS_NEW_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_array_brace_layout.rb#106 RuboCop::Cop::Layout::MultilineArrayBraceLayout::ALWAYS_SAME_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_array_brace_layout.rb#99 RuboCop::Cop::Layout::MultilineArrayBraceLayout::NEW_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_array_brace_layout.rb#95 RuboCop::Cop::Layout::MultilineArrayBraceLayout::SAME_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# Ensures that each item in a multi-line array # starts on a separate line. # # @example # # # bad # [ # a, b, # c # ] # # # good # [ # a, # b, # c # ] # # # good # [ # a, # b, # foo( # bar # ) # ] # @example AllowMultilineFinalElement: false (default) # # # bad # [a, b, foo( # bar # )] # @example AllowMultilineFinalElement: true # # # good # [a, b, foo( # bar # )] # # source://rubocop//lib/rubocop/cop/layout/multiline_array_line_breaks.rb#47 class RuboCop::Cop::Layout::MultilineArrayLineBreaks < ::RuboCop::Cop::Base

include ::RuboCop::Cop::MultilineElementLineBreaks
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_array_line_breaks.rb#53
def on_array(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_array_line_breaks.rb#59
def ignore_last_element?; end

end

# source://rubocop//lib/rubocop/cop/layout/multiline_array_line_breaks.rb#51 RuboCop::Cop::Layout::MultilineArrayLineBreaks::MSG = T.let(T.unsafe(nil), String)

# Checks whether the multiline assignments have a newline # after the assignment operator. # # @example EnforcedStyle: new_line (default) # # bad # foo = if expression # ‘bar’ # end # # # good # foo = # if expression # ‘bar’ # end # # # good # foo = # begin # compute # rescue => e # nil # end # @example EnforcedStyle: same_line # # good # foo = if expression # ‘bar’ # end # @example SupportedTypes: [‘block’, ‘case’, ‘class’, ‘if’, ‘kwbegin’, ‘module’] (default) # # good # foo = # if expression # ‘bar’ # end # # # good # foo = # [1].map do |i| # i + 1 # end # @example SupportedTypes: [‘block’] # # good # foo = if expression # ‘bar’ # end # # # good # foo = # [1].map do |i| # ‘bar’ * i # end # # source://rubocop//lib/rubocop/cop/layout/multiline_assignment_layout.rb#60 class RuboCop::Cop::Layout::MultilineAssignmentLayout < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CheckAssignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_assignment_layout.rb#72
def check_assignment(node, rhs); end

# source://rubocop//lib/rubocop/cop/layout/multiline_assignment_layout.rb#81
def check_by_enforced_style(node, rhs); end

# source://rubocop//lib/rubocop/cop/layout/multiline_assignment_layout.rb#90
def check_new_line_offense(node, rhs); end

# source://rubocop//lib/rubocop/cop/layout/multiline_assignment_layout.rb#98
def check_same_line_offense(node, rhs); end

private

# source://rubocop//lib/rubocop/cop/layout/multiline_assignment_layout.rb#111
def supported_types; end

end

# source://rubocop//lib/rubocop/cop/layout/multiline_assignment_layout.rb#66 RuboCop::Cop::Layout::MultilineAssignmentLayout::NEW_LINE_OFFENSE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_assignment_layout.rb#69 RuboCop::Cop::Layout::MultilineAssignmentLayout::SAME_LINE_OFFENSE = T.let(T.unsafe(nil), String)

# Checks whether the multiline do end blocks have a newline # after the start of the block. Additionally, it checks whether the block # arguments, if any, are on the same line as the start of the # block. Putting block arguments on separate lines, because the whole # line would otherwise be too long, is accepted. # # @example # # bad # blah do |i| foo(i) # bar(i) # end # # # bad # blah do # |i| foo(i) # bar(i) # end # # # good # blah do |i| # foo(i) # bar(i) # end # # # bad # blah { |i| foo(i) # bar(i) # } # # # good # blah { |i| # foo(i) # bar(i) # } # # # good # blah { | # long_list, # of_parameters, # that_would_not, # fit_on_one_line # | # foo(i) # bar(i) # } # # source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#51 class RuboCop::Cop::Layout::MultilineBlockLayout < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#59
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#59
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#98
def add_offense_for_expression(node, expr, msg); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#75
def args_on_beginning_line?(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#105
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#120
def autocorrect_arguments(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#130
def autocorrect_body(corrector, node, block_body); end

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#142
def block_arg_string(node, args); end

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#90
def characters_needed_for_space_and_pipes(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#154
def include_trailing_comma?(args); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#79
def line_break_necessary_in_args?(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#83
def needed_length_for_args(node); end

end

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#56 RuboCop::Cop::Layout::MultilineBlockLayout::ARG_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#55 RuboCop::Cop::Layout::MultilineBlockLayout::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_block_layout.rb#57 RuboCop::Cop::Layout::MultilineBlockLayout::PIPE_SIZE = T.let(T.unsafe(nil), Integer)

# Checks that the closing brace in a hash literal is either # on the same line as the last hash element, or a new line. # # When using the ‘symmetrical` (default) style: # # If a hash’s opening brace is on the same line as the first element # of the hash, then the closing brace should be on the same line as # the last element of the hash. # # If a hash’s opening brace is on the line above the first element # of the hash, then the closing brace should be on the line below # the last element of the hash. # # When using the ‘new_line` style: # # The closing brace of a multi-line hash literal must be on the line # after the last element of the hash. # # When using the `same_line` style: # # The closing brace of a multi-line hash literal must be on the same # line as the last element of the hash. # # @example EnforcedStyle: symmetrical (default) # # # bad # { a: 1, # b: 2 # } # # bad # { # a: 1, # b: 2 } # # # good # { a: 1, # b: 2 } # # # good # { # a: 1, # b: 2 # } # @example EnforcedStyle: new_line # # bad # { # a: 1, # b: 2 } # # # bad # { a: 1, # b: 2 } # # # good # { a: 1, # b: 2 # } # # # good # { # a: 1, # b: 2 # } # @example EnforcedStyle: same_line # # bad # { a: 1, # b: 2 # } # # # bad # { # a: 1, # b: 2 # } # # # good # { # a: 1, # b: 2 } # # # good # { a: 1, # b: 2 } # # source://rubocop//lib/rubocop/cop/layout/multiline_hash_brace_layout.rb#91 class RuboCop::Cop::Layout::MultilineHashBraceLayout < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::MultilineLiteralBraceLayout
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_hash_brace_layout.rb#109
def on_hash(node); end

end

# source://rubocop//lib/rubocop/cop/layout/multiline_hash_brace_layout.rb#103 RuboCop::Cop::Layout::MultilineHashBraceLayout::ALWAYS_NEW_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_hash_brace_layout.rb#106 RuboCop::Cop::Layout::MultilineHashBraceLayout::ALWAYS_SAME_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_hash_brace_layout.rb#99 RuboCop::Cop::Layout::MultilineHashBraceLayout::NEW_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_hash_brace_layout.rb#95 RuboCop::Cop::Layout::MultilineHashBraceLayout::SAME_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# Ensures that each key in a multi-line hash # starts on a separate line. # # @example # # # bad # { # a: 1, b: 2, # c: 3 # } # # # good # { # a: 1, # b: 2, # c: 3 # } # # # good # { # a: 1, # b: { # c: 3, # } # } # @example AllowMultilineFinalElement: false (default) # # # bad # { a: 1, b: { # c: 3, # }} # @example AllowMultilineFinalElement: true # # # good # { a: 1, b: { # c: 3, # }} # # source://rubocop//lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb#46 class RuboCop::Cop::Layout::MultilineHashKeyLineBreaks < ::RuboCop::Cop::Base

include ::RuboCop::Cop::MultilineElementLineBreaks
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb#52
def on_hash(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb#68
def ignore_last_element?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb#64
def starts_with_curly_brace?(node); end

end

# source://rubocop//lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb#50 RuboCop::Cop::Layout::MultilineHashKeyLineBreaks::MSG = T.let(T.unsafe(nil), String)

# Ensures that each argument in a multi-line method call # starts on a separate line. # # NOTE: This cop does not move the first argument, if you want that to # be on a separate line, see ‘Layout/FirstMethodArgumentLineBreak`. # # @example # # # bad # foo(a, b, # c # ) # # # bad # foo(a, b, { # foo: “bar”, # }) # # # good # foo( # a, # b, # c # ) # # # good # foo(a, b, c) # @example AllowMultilineFinalElement: false (default) # # # good # foo( # a, # b, # { # foo: “bar”, # } # ) # @example AllowMultilineFinalElement: true # # # good # foo( # a, # b, # { # foo: “bar”, # } # ) # # source://rubocop//lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb#56 class RuboCop::Cop::Layout::MultilineMethodArgumentLineBreaks < ::RuboCop::Cop::Base

include ::RuboCop::Cop::MultilineElementLineBreaks
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb#62
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb#81
def ignore_last_element?; end

end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb#60 RuboCop::Cop::Layout::MultilineMethodArgumentLineBreaks::MSG = T.let(T.unsafe(nil), String)

# Checks that the closing brace in a method call is either # on the same line as the last method argument, or a new line. # # When using the ‘symmetrical` (default) style: # # If a method call’s opening brace is on the same line as the first # argument of the call, then the closing brace should be on the same # line as the last argument of the call. # # If an method call’s opening brace is on the line above the first # argument of the call, then the closing brace should be on the line # below the last argument of the call. # # When using the ‘new_line` style: # # The closing brace of a multi-line method call must be on the line # after the last argument of the call. # # When using the `same_line` style: # # The closing brace of a multi-line method call must be on the same # line as the last argument of the call. # # @example EnforcedStyle: symmetrical (default) # # bad # foo(a, # b # ) # # # bad # foo( # a, # b) # # # good # foo(a, # b) # # # good # foo( # a, # b # ) # @example EnforcedStyle: new_line # # bad # foo( # a, # b) # # # bad # foo(a, # b) # # # good # foo(a, # b # ) # # # good # foo( # a, # b # ) # @example EnforcedStyle: same_line # # bad # foo(a, # b # ) # # # bad # foo( # a, # b # ) # # # good # foo( # a, # b) # # # good # foo(a, # b) # # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb#91 class RuboCop::Cop::Layout::MultilineMethodCallBraceLayout < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::MultilineLiteralBraceLayout
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb#109
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb#115
def children(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb#119
def ignored_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb#123
def single_line_ignoring_receiver?(node); end

end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb#103 RuboCop::Cop::Layout::MultilineMethodCallBraceLayout::ALWAYS_NEW_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb#106 RuboCop::Cop::Layout::MultilineMethodCallBraceLayout::ALWAYS_SAME_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb#99 RuboCop::Cop::Layout::MultilineMethodCallBraceLayout::NEW_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb#95 RuboCop::Cop::Layout::MultilineMethodCallBraceLayout::SAME_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# Checks the indentation of the method name part in method calls # that span more than one line. # # @example EnforcedStyle: aligned (default) # # bad # while myvariable # .b # # do something # end # # # good # while myvariable # .b # # do something # end # # # good # Thing.a # .b # .c # @example EnforcedStyle: indented # # good # while myvariable # .b # # # do something # end # @example EnforcedStyle: indented_relative_to_receiver # # good # while myvariable # .a # .b # # # do something # end # # # good # myvariable = Thing # .a # .b # .c # # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#49 class RuboCop::Cop::Layout::MultilineMethodCallIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::MultilineExpressionIndentation
extend ::RuboCop::Cop::AutoCorrector

# @raise [ValidationError]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#55
def validate_config; end

private

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#136
def align_with_base_message(rhs); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#152
def alignment_base(node, rhs, given_style); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#67
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#140
def base_source; end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#101
def extra_indentation(given_style, parent); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#226
def find_multiline_block_chain_node(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#237
def first_call_has_a_dot(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#217
def get_dot_right_above(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#113
def message(node, lhs, rhs); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#144
def no_base_message(lhs, rhs, node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#87
def offending_range(node, lhs, rhs, given_style); end

# @yield [operation_rhs.first_argument]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#247
def operation_rhs(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#257
def operator_rhs?(node, receiver); end

# a
#   .b
#   .c
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#193
def receiver_alignment_base(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#131
def relative_to_receiver_message(rhs); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#71
def relevant_node?(send_node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#75
def right_hand_side(send_node); end

# a.b
#  .c
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#181
def semantic_alignment_base(node, rhs); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#201
def semantic_alignment_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#127
def should_align_with_base?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#123
def should_indent_relative_to_receiver?; end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#163
def syntactic_alignment_base(lhs, rhs); end

end

# Checks that the closing brace in a method definition is either # on the same line as the last method parameter, or a new line. # # When using the ‘symmetrical` (default) style: # # If a method definition’s opening brace is on the same line as the # first parameter of the definition, then the closing brace should be # on the same line as the last parameter of the definition. # # If an method definition’s opening brace is on the line above the first # parameter of the definition, then the closing brace should be on the # line below the last parameter of the definition. # # When using the ‘new_line` style: # # The closing brace of a multi-line method definition must be on the line # after the last parameter of the definition. # # When using the `same_line` style: # # The closing brace of a multi-line method definition must be on the same # line as the last parameter of the definition. # # @example EnforcedStyle: symmetrical (default) # # bad # def foo(a, # b # ) # end # # # bad # def foo( # a, # b) # end # # # good # def foo(a, # b) # end # # # good # def foo( # a, # b # ) # end # @example EnforcedStyle: new_line # # bad # def foo( # a, # b) # end # # # bad # def foo(a, # b) # end # # # good # def foo(a, # b # ) # end # # # good # def foo( # a, # b # ) # end # @example EnforcedStyle: same_line # # bad # def foo(a, # b # ) # end # # # bad # def foo( # a, # b # ) # end # # # good # def foo( # a, # b) # end # # # good # def foo(a, # b) # end # # source://rubocop//lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb#103 class RuboCop::Cop::Layout::MultilineMethodDefinitionBraceLayout < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::MultilineLiteralBraceLayout
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb#121
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb#121
def on_defs(node); end

end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb#115 RuboCop::Cop::Layout::MultilineMethodDefinitionBraceLayout::ALWAYS_NEW_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb#118 RuboCop::Cop::Layout::MultilineMethodDefinitionBraceLayout::ALWAYS_SAME_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb#111 RuboCop::Cop::Layout::MultilineMethodDefinitionBraceLayout::NEW_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb#107 RuboCop::Cop::Layout::MultilineMethodDefinitionBraceLayout::SAME_LINE_MESSAGE = T.let(T.unsafe(nil), String)

# Ensures that each parameter in a multi-line method definition # starts on a separate line. # # NOTE: This cop does not move the first argument, if you want that to # be on a separate line, see ‘Layout/FirstMethodParameterLineBreak`. # # @example # # # bad # def foo(a, b, # c # ) # end # # # good # def foo( # a, # b, # c # ) # end # # # good # def foo( # a, # b = { # foo: “bar”, # } # ) # end # # # good # def foo(a, b, c) # end # @example AllowMultilineFinalElement: false (default) # # # bad # def foo(a, b = { # foo: “bar”, # }) # end # @example AllowMultilineFinalElement: true # # # good # def foo(a, b = { # foo: “bar”, # }) # end # # source://rubocop//lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb#57 class RuboCop::Cop::Layout::MultilineMethodParameterLineBreaks < ::RuboCop::Cop::Base

include ::RuboCop::Cop::MultilineElementLineBreaks
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb#63
def on_def(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb#71
def ignore_last_element?; end

end

# source://rubocop//lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb#61 RuboCop::Cop::Layout::MultilineMethodParameterLineBreaks::MSG = T.let(T.unsafe(nil), String)

# Checks the indentation of the right hand side operand in binary operations that # span more than one line. # # The ‘aligned` style checks that operators are aligned if they are part of an `if` or `while` # condition, an explicit `return` statement, etc. In other contexts, the second operand should # be indented regardless of enforced style. # # @example EnforcedStyle: aligned (default) # # bad # if a + # b # something && # something_else # end # # # good # if a + # b # something && # something_else # end # @example EnforcedStyle: indented # # bad # if a + # b # something && # something_else # end # # # good # if a + # b # something && # something_else # end # # source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#43 class RuboCop::Cop::Layout::MultilineOperationIndentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::MultilineExpressionIndentation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#49
def on_and(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#53
def on_or(node); end

# @raise [ValidationError]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#57
def validate_config; end

private

# source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#68
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#78
def check_and_or(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#110
def message(node, lhs, rhs); end

# source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#84
def offending_range(node, lhs, rhs, given_style); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#72
def relevant_node?(node); end

# source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#121
def right_hand_side(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/multiline_operation_indentation.rb#97
def should_align?(node, rhs, given_style); end

end

# Here we check if the parameters on a multi-line method call or # definition are aligned. # # To set the alignment of the first argument, use the cop # FirstParameterIndentation. # # @example EnforcedStyle: with_first_parameter (default) # # good # # def foo(bar, # baz) # 123 # end # # def foo( # bar, # baz # ) # 123 # end # # # bad # # def foo(bar, # baz) # 123 # end # # # bad # # def foo( # bar, # baz) # 123 # end # @example EnforcedStyle: with_fixed_indentation # # good # # def foo(bar, # baz) # 123 # end # # def foo( # bar, # baz # ) # 123 # end # # # bad # # def foo(bar, # baz) # 123 # end # # # bad # # def foo( # bar, # baz) # 123 # end # # source://rubocop//lib/rubocop/cop/layout/parameter_alignment.rb#71 class RuboCop::Cop::Layout::ParameterAlignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/parameter_alignment.rb#81
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/parameter_alignment.rb#81
def on_defs(node); end

private

# source://rubocop//lib/rubocop/cop/layout/parameter_alignment.rb#90
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/parameter_alignment.rb#102
def base_column(node, args); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/parameter_alignment.rb#98
def fixed_indentation?; end

# source://rubocop//lib/rubocop/cop/layout/parameter_alignment.rb#94
def message(_node); end

# source://rubocop//lib/rubocop/cop/layout/parameter_alignment.rb#113
def target_method_lineno(node); end

end

# source://rubocop//lib/rubocop/cop/layout/parameter_alignment.rb#75 RuboCop::Cop::Layout::ParameterAlignment::ALIGN_PARAMS_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/parameter_alignment.rb#78 RuboCop::Cop::Layout::ParameterAlignment::FIXED_INDENT_MSG = T.let(T.unsafe(nil), String)

# Checks whether certain expressions, e.g. method calls, that could fit # completely on a single line, are broken up into multiple lines unnecessarily. # # @example any configuration # # bad # foo( # a, # b # ) # # puts ‘string that fits on ’ \ # ‘a single line’ # # things # .select { |thing| thing.cond? } # .join(‘-’) # # # good # foo(a, b) # # puts ‘string that fits on a single line’ # # things.select { |thing| thing.cond? }.join(‘-’) # @example InspectBlocks: false (default) # # good # foo(a) do |x| # puts x # end # @example InspectBlocks: true # # bad # foo(a) do |x| # puts x # end # # # good # foo(a) { |x| puts x } # # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#45 class RuboCop::Cop::Layout::RedundantLineBreak < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CheckAssignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#55
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#51
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#55
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#73
def check_assignment(node, _rhs); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#133
def comment_within?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#103
def configured_to_not_be_inspected?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#127
def convertible_block?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#69
def end_with_percent_blank_string?(processed_source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#97
def index_access_call_chained?(node); end

# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#155
def max_line_length; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#86
def offense?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#110
def other_cop_takes_precedence?(node); end

# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#79
def register_offense(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#93
def require_backslash?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#116
def single_line_block_chain_enabled?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#120
def suitable_as_single_line?(node); end

# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#146
def to_single_line(source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#141
def too_long?(node); end

end

# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#49 RuboCop::Cop::Layout::RedundantLineBreak::MSG = T.let(T.unsafe(nil), String)

# Checks whether the rescue and ensure keywords are aligned # properly. # # @example # # # bad # begin # something # rescue # puts ‘error’ # end # # # good # begin # something # rescue # puts ‘error’ # end # # source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#24 class RuboCop::Cop::Layout::RescueEnsureAlignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::EndKeywordAlignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#40
def on_ensure(node); end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#44
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#36
def on_resbody(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#186
def access_modifier?(node); end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#163
def access_modifier_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#149
def aligned_with_leading_dot?(do_keyword_line, send_node_loc, rescue_keyword_column); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#136
def aligned_with_line_break_method?(ancestor_node, node); end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#195
def alignment_location(alignment_node); end

# We will use ancestor or wrapper with access modifier.
#
# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#116
def alignment_node(node); end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#95
def alignment_source(node, starting_loc); end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#132
def ancestor_node(node); end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#155
def assignment_node(node); end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#73
def autocorrect(corrector, node, alignment_location); end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#203
def begin_end_alignment_style; end

# Check alignment of node with rescue or ensure modifiers.
#
# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#57
def check(node); end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#83
def format_message(alignment_node, alignment_loc, kw_loc); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#173
def modifier?(node); end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#179
def whitespace_range(node); end

end

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#34 RuboCop::Cop::Layout::RescueEnsureAlignment::ALTERNATIVE_ACCESS_MODIFIERS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#32 RuboCop::Cop::Layout::RescueEnsureAlignment::ANCESTOR_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#33 RuboCop::Cop::Layout::RescueEnsureAlignment::ANCESTOR_TYPES_WITH_ACCESS_MODIFIERS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/layout/rescue_ensure_alignment.rb#29 RuboCop::Cop::Layout::RescueEnsureAlignment::MSG = T.let(T.unsafe(nil), String)

# Checks if method calls are chained onto single line blocks. It considers that a # line break before the dot improves the readability of the code. # # @example # # bad # example.select { |item| item.cond? }.join(‘-’) # # # good # example.select { |item| item.cond? } # .join(‘-’) # # # good (not a concern for this cop) # example.select do |item| # item.cond? # end.join(‘-’) # # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#22 class RuboCop::Cop::Layout::SingleLineBlockChain < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#32
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#32
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#56
def call_method_after_block?(node, dot_range, closing_block_delimiter_line_num); end

# source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#40
def offending_range(node); end

# source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#62
def selector_range(node); end

class << self
  # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#28
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#26 RuboCop::Cop::Layout::SingleLineBlockChain::MSG = T.let(T.unsafe(nil), String)

# Checks for colon (:) not followed by some kind of space. # N.B. this cop does not handle spaces after a ternary operator, which are # instead handled by Layout/SpaceAroundOperators. # # @example # # bad # def f(a:, b:2); {a:3}; end # # # good # def f(a:, b: 2); {a: 3}; end # # source://rubocop//lib/rubocop/cop/layout/space_after_colon.rb#16 class RuboCop::Cop::Layout::SpaceAfterColon < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_after_colon.rb#29
def on_kwoptarg(node); end

# source://rubocop//lib/rubocop/cop/layout/space_after_colon.rb#21
def on_pair(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_after_colon.rb#43
def followed_by_space?(colon); end

# source://rubocop//lib/rubocop/cop/layout/space_after_colon.rb#39
def register_offense(colon); end

end

# source://rubocop//lib/rubocop/cop/layout/space_after_colon.rb#19 RuboCop::Cop::Layout::SpaceAfterColon::MSG = T.let(T.unsafe(nil), String)

# Checks for comma (,) not followed by some kind of space. # # @example # # # bad # [1,2] # { foo:bar,} # # # good # [1, 2] # { foo:bar, } # # source://rubocop//lib/rubocop/cop/layout/space_after_comma.rb#17 class RuboCop::Cop::Layout::SpaceAfterComma < ::RuboCop::Cop::Base

include ::RuboCop::Cop::SpaceAfterPunctuation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_after_comma.rb#26
def kind(token); end

# source://rubocop//lib/rubocop/cop/layout/space_after_comma.rb#21
def space_style_before_rcurly; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_after_comma.rb#32
def before_semicolon?(token); end

end

# Checks for space between a method name and a left parenthesis in defs. # # @example # # # bad # def func (x) end # def method= (y) end # # # good # def func(x) end # def method=(y) end # # source://rubocop//lib/rubocop/cop/layout/space_after_method_name.rb#17 class RuboCop::Cop::Layout::SpaceAfterMethodName < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_after_method_name.rb#23
def on_def(node); end

# source://rubocop//lib/rubocop/cop/layout/space_after_method_name.rb#23
def on_defs(node); end

end

# source://rubocop//lib/rubocop/cop/layout/space_after_method_name.rb#21 RuboCop::Cop::Layout::SpaceAfterMethodName::MSG = T.let(T.unsafe(nil), String)

# Checks for space after ‘!`. # # @example # # bad # ! something # # # good # !something # # source://rubocop//lib/rubocop/cop/layout/space_after_not.rb#14 class RuboCop::Cop::Layout::SpaceAfterNot < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_after_not.rb#21
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_after_not.rb#33
def whitespace_after_operator?(node); end

end

# source://rubocop//lib/rubocop/cop/layout/space_after_not.rb#18 RuboCop::Cop::Layout::SpaceAfterNot::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_after_not.rb#19 RuboCop::Cop::Layout::SpaceAfterNot::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for semicolon (;) not followed by some kind of space. # # @example # # bad # x = 1;y = 2 # # # good # x = 1; y = 2 # # source://rubocop//lib/rubocop/cop/layout/space_after_semicolon.rb#14 class RuboCop::Cop::Layout::SpaceAfterSemicolon < ::RuboCop::Cop::Base

include ::RuboCop::Cop::SpaceAfterPunctuation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_after_semicolon.rb#23
def kind(token); end

# source://rubocop//lib/rubocop/cop/layout/space_after_semicolon.rb#18
def space_style_before_rcurly; end

end

# Checks the spacing inside and after block parameters pipes. Line breaks # inside parameter pipes are checked by ‘Layout/MultilineBlockLayout` and # not by this cop. # # @example EnforcedStyleInsidePipes: no_space (default) # # bad # {}.each { | x, y |puts x } # ->( x, y ) { puts x } # # # good # {}.each { |x, y| puts x } # ->(x, y) { puts x } # @example EnforcedStyleInsidePipes: space # # bad # {}.each { |x, y| puts x } # ->(x, y) { puts x } # # # good # {}.each { | x, y | puts x } # ->( x, y ) { puts x } # # source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#27 class RuboCop::Cop::Layout::SpaceAroundBlockParameters < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#32
def on_block(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#65
def check_after_closing_pipe(arguments); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#125
def check_arg(arg); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#103
def check_closing_pipe_space(arguments, closing_pipe); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#121
def check_each_arg(args); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#56
def check_inside_pipes(arguments); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#150
def check_no_space(space_begin_pos, space_end_pos, msg); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#73
def check_no_space_style_inside_pipes(arguments); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#92
def check_opening_pipe_space(arguments, opening_pipe); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#136
def check_space(space_begin_pos, space_end_pos, range, msg, node = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#85
def check_space_style_inside_pipes(arguments); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#113
def last_end_pos_inside_pipes(arguments, range); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#44
def pipes(arguments); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#48
def pipes?(arguments); end

# source://rubocop//lib/rubocop/cop/layout/space_around_block_parameters.rb#52
def style_parameter_name; end

end

# Checks that the equals signs in parameter default assignments # have or don’t have surrounding space depending on configuration. # # @example EnforcedStyle: space (default) # # bad # def some_method(arg1=:default, arg2=nil, arg3=[]) # # do something… # end # # # good # def some_method(arg1 = :default, arg2 = nil, arg3 = []) # # do something… # end # @example EnforcedStyle: no_space # # bad # def some_method(arg1 = :default, arg2 = nil, arg3 = []) # # do something… # end # # # good # def some_method(arg1=:default, arg2=nil, arg3=[]) # # do something… # end # # source://rubocop//lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb#30 class RuboCop::Cop::Layout::SpaceAroundEqualsInParameterDefault < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SurroundingSpace
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb#38
def on_optarg(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb#67
def autocorrect(corrector, range); end

# source://rubocop//lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb#46
def check_optarg(arg, equals, value); end

# source://rubocop//lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb#58
def incorrect_style_detected(arg, value); end

# source://rubocop//lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb#83
def message(_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb#79
def no_surrounding_space?(arg, equals); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb#75
def space_on_both_sides?(arg, equals); end

end

# source://rubocop//lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb#36 RuboCop::Cop::Layout::SpaceAroundEqualsInParameterDefault::MSG = T.let(T.unsafe(nil), String)

# Checks the spacing around the keywords. # # @example # # # bad # something ‘test’do|x| # end # # while(something) # end # # something = 123if test # # # good # something ‘test’ do |x| # end # # while (something) # end # # something = 123 if test # # source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#27 class RuboCop::Cop::Layout::SpaceAroundKeyword < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#40
def on_and(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#44
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#48
def on_break(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#52
def on_case(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#56
def on_case_match(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#156
def on_defined?(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#60
def on_ensure(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#64
def on_for(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#68
def on_if(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#72
def on_if_guard(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#76
def on_in_pattern(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#80
def on_kwbegin(node); end

# Handle one-line pattern matching syntax (`in`) with `Parser::Ruby27`.
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#85
def on_match_pattern(node); end

# Handle one-line pattern matching syntax (`in`) with `Parser::Ruby30`.
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#92
def on_match_pattern_p(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#96
def on_next(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#100
def on_or(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#104
def on_postexe(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#108
def on_preexe(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#112
def on_resbody(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#116
def on_rescue(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#120
def on_return(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#124
def on_send(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#128
def on_super(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#136
def on_unless_guard(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#140
def on_until(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#144
def on_when(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#148
def on_while(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#152
def on_yield(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#132
def on_zsuper(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#235
def accept_left_parenthesis?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#239
def accept_left_square_bracket?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#243
def accept_namespace_operator?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#228
def accepted_opening_delimiter?(range, char); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#162
def check(node, locations, begin_keyword = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#177
def check_begin(node, range, begin_keyword); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#183
def check_end(node, range, begin_keyword); end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#196
def check_keyword(node, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#192
def do?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#251
def namespace_operator?(range, pos); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#255
def preceded_by_operator?(node, _range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#247
def safe_navigation_call?(range, pos); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#217
def space_after_missing?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#210
def space_before_missing?(range); end

end

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#36 RuboCop::Cop::Layout::SpaceAroundKeyword::ACCEPT_LEFT_PAREN = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#37 RuboCop::Cop::Layout::SpaceAroundKeyword::ACCEPT_LEFT_SQUARE_BRACKET = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#38 RuboCop::Cop::Layout::SpaceAroundKeyword::ACCEPT_NAMESPACE_OPERATOR = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#33 RuboCop::Cop::Layout::SpaceAroundKeyword::DO = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#31 RuboCop::Cop::Layout::SpaceAroundKeyword::MSG_AFTER = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#30 RuboCop::Cop::Layout::SpaceAroundKeyword::MSG_BEFORE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#35 RuboCop::Cop::Layout::SpaceAroundKeyword::NAMESPACE_OPERATOR = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_around_keyword.rb#34 RuboCop::Cop::Layout::SpaceAroundKeyword::SAFE_NAVIGATION = T.let(T.unsafe(nil), String)

# Checks method call operators to not have spaces around them. # # @example # # bad # foo. bar # foo .bar # foo . bar # foo. bar .buzz # foo # . bar # . buzz # foo&. bar # foo &.bar # foo &. bar # foo &. bar&. buzz

# RuboCop

Cop

# RuboCop
Cop

Base

#

RuboCop::Cop

# # # good # foo.bar # foo.bar.buzz # foo # .bar # .buzz # foo&.bar # foo&.bar&.buzz # RuboCop::Cop # RuboCop::Cop::Base # ::RuboCop::Cop # # source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#37 class RuboCop::Cop::Layout::SpaceAroundMethodCallOperator < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#53
def on_const(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#45
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#45
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#87
def check_space(begin_pos, end_pos); end

# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#67
def check_space_after_dot(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#81
def check_space_after_double_colon(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#61
def check_space_before_dot(node); end

end

# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#43 RuboCop::Cop::Layout::SpaceAroundMethodCallOperator::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#41 RuboCop::Cop::Layout::SpaceAroundMethodCallOperator::SPACES_REGEXP = T.let(T.unsafe(nil), Regexp)

# Checks that operators have space around them, except for ** which # should or shouldn’t have surrounding space depending on configuration. # It allows vertical alignment consisting of one or more whitespace # around operators. # # This cop has ‘AllowForAlignment` option. When `true`, allows most # uses of extra spacing if the intent is to align with an operator on # the previous or next line, not counting empty lines or comment lines. # # @example # # bad # total = 3*4 # “apple”+“juice” # my_number = 38/4 # # # good # total = 3 * 4 # “apple” + “juice” # my_number = 38 / 4 # @example AllowForAlignment: true (default) # # good # { # 1 => 2, # 11 => 3 # } # @example AllowForAlignment: false # # bad # { # 1 => 2, # 11 => 3 # } # @example EnforcedStyleForExponentOperator: no_space (default) # # bad # a ** b # # # good # a**b # @example EnforcedStyleForExponentOperator: space # # bad # a**b # # # good # a ** b # @example EnforcedStyleForRationalLiterals: no_space (default) # # bad # 1 / 48r # # # good # 1/48r # @example EnforcedStyleForRationalLiterals: space # # bad # 1/48r # # # good # 1 / 48r # # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#67 class RuboCop::Cop::Layout::SpaceAroundOperators < ::RuboCop::Cop::Base

include ::RuboCop::Cop::PrecedingFollowingAlignment
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::RationalLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#133
def on_and(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_and_asgn(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_assignment(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#133
def on_binary(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#125
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#133
def on_class(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#92
def on_if(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_masgn(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#149
def on_match_pattern(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#141
def on_op_asgn(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#133
def on_or(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_or_asgn(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#84
def on_pair(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#99
def on_resbody(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#80
def on_sclass(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#107
def on_send(node); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#141
def on_special_asgn(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#256
def align_hash_cop_config; end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#195
def autocorrect(corrector, range, right_operand); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#179
def check_operator(type, operator, right_operand); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#209
def enclose_operator_with_space(corrector, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#236
def excess_leading_space?(type, operator, with_space); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#251
def excess_trailing_space?(right_operand, with_space); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#274
def force_equal_sign_alignment?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#260
def hash_table_style?; end

# @yield [msg]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#190
def offense(type, operator, with_space, right_operand); end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#222
def offense_message(type, operator, with_space, right_operand); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#175
def operator_with_regular_syntax?(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#169
def regular_operator?(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#278
def should_not_have_surrounding_space?(operator, right_operand); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#264
def space_around_exponent_operator?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#268
def space_around_slash_operator?(right_operand); end

class << self
  # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#76
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#74 RuboCop::Cop::Layout::SpaceAroundOperators::EXCESSIVE_SPACE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#73 RuboCop::Cop::Layout::SpaceAroundOperators::IRREGULAR_METHODS = T.let(T.unsafe(nil), Array)

# Checks that block braces have or don’t have a space before the opening # brace depending on configuration. # # @example EnforcedStyle: space (default) # # bad # foo.map{ |a| # a.bar.to_s # } # # # good # foo.map { |a| # a.bar.to_s # } # @example EnforcedStyle: no_space # # bad # foo.map { |a| # a.bar.to_s # } # # # good # foo.map{ |a| # a.bar.to_s # } # @example EnforcedStyleForEmptyBraces: space (default) # # bad # 7.times{} # # # good # 7.times {} # @example EnforcedStyleForEmptyBraces: no_space # # bad # 7.times {} # # # good # 7.times{} # # source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#44 class RuboCop::Cop::Layout::SpaceBeforeBlockBraces < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#56
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#56
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#133
def autocorrect(corrector, range); end

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#153
def block_delimiters_style; end

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#83
def check_empty(left_brace, space_plus_brace, used_style); end

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#109
def check_non_empty(left_brace, space_plus_brace, used_style); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#149
def conflict_with_block_delimiters?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#157
def empty_braces?(loc); end

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#101
def handle_different_styles_for_empty_braces(used_style); end

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#124
def space_detected(left_brace, space_plus_brace); end

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#117
def space_missing(left_brace); end

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#140
def style_for_empty_braces; end

class << self
  # source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#52
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#50 RuboCop::Cop::Layout::SpaceBeforeBlockBraces::DETECTED_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_before_block_braces.rb#49 RuboCop::Cop::Layout::SpaceBeforeBlockBraces::MISSING_MSG = T.let(T.unsafe(nil), String)

# Checks for space between the name of a receiver and a left # brackets. # # @example # # # bad # collection [index_or_key] # # # good # collection # # source://rubocop//lib/rubocop/cop/layout/space_before_brackets.rb#17 class RuboCop::Cop::Layout::SpaceBeforeBrackets < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_before_brackets.rb#24
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_before_brackets.rb#48
def dot_before_brackets?(node, receiver_end_pos, selector_begin_pos); end

# source://rubocop//lib/rubocop/cop/layout/space_before_brackets.rb#35
def offense_range(node, begin_pos); end

# source://rubocop//lib/rubocop/cop/layout/space_before_brackets.rb#54
def offense_range_for_assignment(node, begin_pos); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_before_brackets.rb#67
def reference_variable_with_brackets?(node); end

# source://rubocop//lib/rubocop/cop/layout/space_before_brackets.rb#63
def register_offense(range); end

end

# source://rubocop//lib/rubocop/cop/layout/space_before_brackets.rb#21 RuboCop::Cop::Layout::SpaceBeforeBrackets::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_before_brackets.rb#22 RuboCop::Cop::Layout::SpaceBeforeBrackets::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for comma (,) preceded by space. # # @example # # bad # [1 , 2 , 3] # a(1 , 2) # each { |a , b| } # # # good # [1, 2, 3] # a(1, 2) # each { |a, b| } # # source://rubocop//lib/rubocop/cop/layout/space_before_comma.rb#19 class RuboCop::Cop::Layout::SpaceBeforeComma < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SpaceBeforePunctuation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_before_comma.rb#23
def kind(token); end

end

# Checks for missing space between a token and a comment on the # same line. # # @example # # bad # 1 + 1# this operation does … # # # good # 1 + 1 # this operation does … # # source://rubocop//lib/rubocop/cop/layout/space_before_comment.rb#15 class RuboCop::Cop::Layout::SpaceBeforeComment < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_before_comment.rb#20
def on_new_investigation; end

end

# source://rubocop//lib/rubocop/cop/layout/space_before_comment.rb#18 RuboCop::Cop::Layout::SpaceBeforeComment::MSG = T.let(T.unsafe(nil), String)

# Checks that exactly one space is used between a method name and the # first argument for method calls without parentheses. # # Alternatively, extra spaces can be added to align the argument with # something on a preceding or following line, if the AllowForAlignment # config parameter is true. # # @example # # bad # something x # something y, z # something’hello’ # # # good # something x # something y, z # something ‘hello’ # # source://rubocop//lib/rubocop/cop/layout/space_before_first_arg.rb#24 class RuboCop::Cop::Layout::SpaceBeforeFirstArg < ::RuboCop::Cop::Base

include ::RuboCop::Cop::PrecedingFollowingAlignment
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_before_first_arg.rb#35
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/layout/space_before_first_arg.rb#35
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_before_first_arg.rb#55
def expect_params_after_method_name?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_before_first_arg.rb#64
def no_space_between_method_name_and_first_argument?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_before_first_arg.rb#51
def regular_method_call_with_arguments?(node); end

class << self
  # source://rubocop//lib/rubocop/cop/layout/space_before_first_arg.rb#31
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/layout/space_before_first_arg.rb#29 RuboCop::Cop::Layout::SpaceBeforeFirstArg::MSG = T.let(T.unsafe(nil), String)

# Checks for semicolon (;) preceded by space. # # @example # # bad # x = 1 ; y = 2 # # # good # x = 1; y = 2 # # source://rubocop//lib/rubocop/cop/layout/space_before_semicolon.rb#14 class RuboCop::Cop::Layout::SpaceBeforeSemicolon < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SpaceBeforePunctuation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_before_semicolon.rb#18
def kind(token); end

end

# Checks for spaces between ‘->` and opening parameter # parenthesis (`(`) in lambda literals. # # @example EnforcedStyle: require_no_space (default) # # bad # a = -> (x, y) { x + y } # # # good # a = ->(x, y) { x + y } # @example EnforcedStyle: require_space # # bad # a = ->(x, y) { x + y } # # # good # a = -> (x, y) { x + y } # # source://rubocop//lib/rubocop/cop/layout/space_in_lambda_literal.rb#22 class RuboCop::Cop::Layout::SpaceInLambdaLiteral < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_in_lambda_literal.rb#30
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_in_lambda_literal.rb#50
def arrow_lambda_with_args?(node); end

# source://rubocop//lib/rubocop/cop/layout/space_in_lambda_literal.rb#72
def lambda_arguments(node); end

# source://rubocop//lib/rubocop/cop/layout/space_in_lambda_literal.rb#65
def range_of_offense(node); end

# source://rubocop//lib/rubocop/cop/layout/space_in_lambda_literal.rb#58
def space_after_arrow(lambda_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_in_lambda_literal.rb#54
def space_after_arrow?(lambda_node); end

end

# source://rubocop//lib/rubocop/cop/layout/space_in_lambda_literal.rb#28 RuboCop::Cop::Layout::SpaceInLambdaLiteral::MSG_REQUIRE_NO_SPACE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_in_lambda_literal.rb#27 RuboCop::Cop::Layout::SpaceInLambdaLiteral::MSG_REQUIRE_SPACE = T.let(T.unsafe(nil), String)

# Checks that brackets used for array literals have or don’t have # surrounding space depending on configuration. # # @example EnforcedStyle: no_space (default) # # The ‘no_space` style enforces that array literals have # # no surrounding space. # # # bad # array = [ a, b, c, d ] # # # good # array = [a, b, c, d] # @example EnforcedStyle: space # # The `space` style enforces that array literals have # # surrounding space. # # # bad # array = [a, b, c, d] # # # good # array = [ a, b, c, d ] # @example EnforcedStyle: compact # # The `compact` style normally requires a space inside # # array brackets, with the exception that successive left # # or right brackets are collapsed together in nested arrays. # # # bad # array = [ a, [ b, c ] ] # array = [ # [ a ], # [ b, c ] # ] # # # good # array = [ a, [ b, c ]] # array = [[ a ], # [ b, c ]] # @example EnforcedStyleForEmptyBrackets: no_space (default) # # The `no_space` EnforcedStyleForEmptyBrackets style enforces that # # empty array brackets do not contain spaces. # # # bad # foo = [ ] # bar = [ ] # # # good # foo = [] # bar = [] # @example EnforcedStyleForEmptyBrackets: space # # The `space` EnforcedStyleForEmptyBrackets style enforces that # # empty array brackets contain exactly one space. # # # bad # foo = [] # bar = [ ] # # # good # foo = [ ] # bar = [ ] # # source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#70 class RuboCop::Cop::Layout::SpaceInsideArrayLiteralBrackets < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SurroundingSpace
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#78
def on_array(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#109
def array_brackets(node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#95
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#217
def compact(corrector, bracket, side); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#203
def compact_corrections(corrector, node, left, right); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#195
def compact_offense(node, token, side: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#157
def compact_offenses(node, left, right, start_ok, end_ok); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#118
def empty_config; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#126
def end_has_own_line?(token); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#133
def index_for(node, token); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#141
def issue_offenses(node, left, right, start_ok, end_ok); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#137
def line_and_column_for(token); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#178
def multi_dimensional_array?(node, token, side: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#189
def next_to_bracket?(token, side: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#153
def next_to_comment?(node, token); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#122
def next_to_newline?(node, token); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#170
def qualifies_for_compact?(node, token, side: T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#76 RuboCop::Cop::Layout::SpaceInsideArrayLiteralBrackets::EMPTY_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb#75 RuboCop::Cop::Layout::SpaceInsideArrayLiteralBrackets::MSG = T.let(T.unsafe(nil), String)

# Checks for unnecessary additional spaces inside array percent literals # (i.e. %i/%w). # # Note that blank percent literals (e.g. ‘%i( )`) are checked by # `Layout/SpaceInsidePercentLiteralDelimiters`. # # @example # # # bad # %w(foo bar baz) # # good # %i(foo bar baz) # # source://rubocop//lib/rubocop/cop/layout/space_inside_array_percent_literal.rb#18 class RuboCop::Cop::Layout::SpaceInsideArrayPercentLiteral < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::MatchRange
include ::RuboCop::Cop::PercentLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_percent_literal.rb#26
def on_array(node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_percent_literal.rb#30
def on_percent_literal(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_percent_literal.rb#40
def each_unnecessary_space_match(node, &blk); end

end

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_percent_literal.rb#23 RuboCop::Cop::Layout::SpaceInsideArrayPercentLiteral::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_inside_array_percent_literal.rb#24 RuboCop::Cop::Layout::SpaceInsideArrayPercentLiteral::MULTIPLE_SPACES_BETWEEN_ITEMS_REGEX = T.let(T.unsafe(nil), Regexp)

# Checks that block braces have or don’t have surrounding space inside # them on configuration. For blocks taking parameters, it checks that the # left brace has or doesn’t have trailing space depending on # configuration. # # @example EnforcedStyle: space (default) # # The ‘space` style enforces that block braces have # # surrounding space. # # # bad # some_array.each {puts e} # # # good # some_array.each { puts e } # @example EnforcedStyle: no_space # # The `no_space` style enforces that block braces don’t # # have surrounding space. # # # bad # some_array.each { puts e } # # # good # some_array.each {puts e} # @example EnforcedStyleForEmptyBraces: no_space (default) # # The ‘no_space` EnforcedStyleForEmptyBraces style enforces that # # block braces don’t have a space in between when empty. # # # bad # some_array.each { } # some_array.each { } # some_array.each { } # # # good # some_array.each {} # @example EnforcedStyleForEmptyBraces: space # # The ‘space` EnforcedStyleForEmptyBraces style enforces that # # block braces have at least a space in between when empty. # # # bad # some_array.each {} # # # good # some_array.each { } # some_array.each { } # some_array.each { } # @example SpaceBeforeBlockParameters: true (default) # # The SpaceBeforeBlockParameters style set to `true` enforces that # # there is a space between `{` and `|`. Overrides `EnforcedStyle` # # if there is a conflict. # # # bad # [1, 2, 3].each {|n| n * 2 } # # # good # [1, 2, 3].each { |n| n * 2 } # @example SpaceBeforeBlockParameters: false # # The SpaceBeforeBlockParameters style set to `false` enforces that # # there is no space between `{` and `|`. Overrides `EnforcedStyle` # # if there is a conflict. # # # bad # [1, 2, 3].each { |n| n * 2 } # # # good # [1, 2, 3].each {|n| n * 2 } # # source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#79 class RuboCop::Cop::Layout::SpaceInsideBlockBraces < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SurroundingSpace
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#85
def on_block(node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#85
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#122
def adjacent_braces(left_brace, right_brace); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#161
def aligned_braces?(inner, right_brace, column); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#130
def braces_with_contents_inside(node, inner); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#105
def check_inside(node, left_brace, right_brace); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#137
def check_left_brace(inner, left_brace, args_delimiter); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#145
def check_right_brace(node, inner, left_brace, right_brace, single_line); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#165
def inner_last_space_count(inner); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#157
def multiline_block?(left_brace, right_brace); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#222
def no_space(begin_pos, end_pos, msg); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#169
def no_space_inside_left_brace(left_brace, args_delimiter); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#238
def offense(begin_pos, end_pos, msg, style_param = T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#201
def pipe?(args_delimiter); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#230
def space(begin_pos, end_pos, msg); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#186
def space_inside_left_brace(left_brace, args_delimiter); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#205
def space_inside_right_brace(inner, right_brace, column); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_block_braces.rb#253
def style_for_empty_braces; end

end

# Checks that braces used for hash literals have or don’t have # surrounding space depending on configuration. # # @example EnforcedStyle: space (default) # # The ‘space` style enforces that hash literals have # # surrounding space. # # # bad # h = {a: 1, b: 2} # # # good # h = { a: 1, b: 2 } # @example EnforcedStyle: no_space # # The `no_space` style enforces that hash literals have # # no surrounding space. # # # bad # h = { a: 1, b: 2 } # # # good # h = {a: 1, b: 2} # @example EnforcedStyle: compact # # The `compact` style normally requires a space inside # # hash braces, with the exception that successive left # # braces or right braces are collapsed together in nested hashes. # # # bad # h = { a: { b: 2 } } # foo = { { a: 1 } => { b: { c: 2 } } } # # # good # h = { a: { b: 2 }} # foo = {{ a: 1 } => { b: { c: 2 }}} # @example EnforcedStyleForEmptyBraces: no_space (default) # # The `no_space` EnforcedStyleForEmptyBraces style enforces that # # empty hash braces do not contain spaces. # # # bad # foo = { } # bar = { } # baz = { # } # # # good # foo = {} # bar = {} # baz = {} # @example EnforcedStyleForEmptyBraces: space # # The `space` EnforcedStyleForEmptyBraces style enforces that # # empty hash braces contain space. # # # bad # foo = {} # # # good # foo = { } # foo = { } # foo = { # } # # source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#70 class RuboCop::Cop::Layout::SpaceInsideHashLiteralBraces < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SurroundingSpace
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#78
def on_hash(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#137
def ambiguous_or_unexpected_style_detected(style, is_match); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#129
def autocorrect(corrector, range); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#89
def check(token1, token2); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#184
def check_whitespace_only_hash(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#202
def enforce_no_space_style_for_empty_braces?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#104
def expect_space?(token1, token2); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#117
def incorrect_style_detected(token1, token2, expect_space, is_empty_braces); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#150
def message(brace, is_empty_braces, expect_space); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#145
def offense?(token1, expect_space); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#196
def range_inside_hash(node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#176
def range_of_space_to_the_left(range); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#168
def range_of_space_to_the_right(range); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#160
def space_range(token_range); end

end

# source://rubocop//lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb#76 RuboCop::Cop::Layout::SpaceInsideHashLiteralBraces::MSG = T.let(T.unsafe(nil), String)

# Checks for spaces inside ordinary round parentheses. # # @example EnforcedStyle: no_space (default) # # The ‘no_space` style enforces that parentheses do not have spaces. # # # bad # f( 3) # g = (a + 3 ) # f( ) # # # good # f(3) # g = (a + 3) # f() # @example EnforcedStyle: space # # The `space` style enforces that parentheses have a space at the # # beginning and end. # # Note: Empty parentheses should not have spaces. # # # bad # f(3) # g = (a + 3) # y( ) # # # good # f( 3 ) # g = ( a + 3 ) # y() # @example EnforcedStyle: compact # # The `compact` style enforces that parentheses have a space at the # # beginning with the exception that successive parentheses are allowed. # # Note: Empty parentheses should not have spaces. # # # bad # f(3) # g = (a + 3) # y( ) # g( f( x ) ) # g( f( x( 3 ) ), 5 ) # g( ( ( 3 + 5 ) * f) ** x, 5 ) # # # good # f( 3 ) # g = ( a + 3 ) # y() # g( f( x )) # g( f( x( 3 )), 5 ) # g((( 3 + 5 ) * f ) ** x, 5 ) # # source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#57 class RuboCop::Cop::Layout::SpaceInsideParens < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SurroundingSpace
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#66
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#161
def can_be_ignored?(token1, token2); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#99
def correct_extraneous_space(tokens); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#115
def correct_extraneous_space_between_consecutive_parens(token1, token2); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#124
def correct_extraneous_space_in_empty_parens(token1, token2); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#135
def correct_missing_space(token1, token2); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#153
def left_parens?(token1, token2); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#149
def parens?(token1, token2); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#88
def process_with_compact_style(tokens); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#81
def process_with_space_style(tokens); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#157
def right_parens?(token1, token2); end

end

# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#63 RuboCop::Cop::Layout::SpaceInsideParens::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_inside_parens.rb#64 RuboCop::Cop::Layout::SpaceInsideParens::MSG_SPACE = T.let(T.unsafe(nil), String)

# Checks for unnecessary additional spaces inside the delimiters of # %i/%w/%x literals. # # @example # # # bad # %i( foo bar baz ) # # # good # %i(foo bar baz) # # # bad # %w( foo bar baz ) # # # good # %w(foo bar baz) # # # bad # %x( ls -l ) # # # good # %x(ls -l) # # # bad # %w( ) # %w( # ) # # # good # %w() # # source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#36 class RuboCop::Cop::Layout::SpaceInsidePercentLiteralDelimiters < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::MatchRange
include ::RuboCop::Cop::PercentLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#45
def on_array(node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#53
def on_percent_literal(node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#49
def on_xstr(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#60
def add_offenses_for_blank_spaces(node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#69
def add_offenses_for_unnecessary_spaces(node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#85
def body_range(node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#79
def regex_matches(node, &blk); end

end

# source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#42 RuboCop::Cop::Layout::SpaceInsidePercentLiteralDelimiters::BEGIN_REGEX = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#43 RuboCop::Cop::Layout::SpaceInsidePercentLiteralDelimiters::END_REGEX = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb#41 RuboCop::Cop::Layout::SpaceInsidePercentLiteralDelimiters::MSG = T.let(T.unsafe(nil), String)

# Checks for spaces inside range literals. # # @example # # bad # 1 .. 3 # # # good # 1..3 # # # bad # ‘a’ .. ‘z’ # # # good # ‘a’..‘z’ # # source://rubocop//lib/rubocop/cop/layout/space_inside_range_literal.rb#20 class RuboCop::Cop::Layout::SpaceInsideRangeLiteral < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_inside_range_literal.rb#29
def on_erange(node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_range_literal.rb#25
def on_irange(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_inside_range_literal.rb#35
def check(node); end

end

# source://rubocop//lib/rubocop/cop/layout/space_inside_range_literal.rb#23 RuboCop::Cop::Layout::SpaceInsideRangeLiteral::MSG = T.let(T.unsafe(nil), String)

# Checks that reference brackets have or don’t have # surrounding space depending on configuration. # # @example EnforcedStyle: no_space (default) # # The ‘no_space` style enforces that reference brackets have # # no surrounding space. # # # bad # hash[ :key ] # array[ index ] # # # good # hash # array # @example EnforcedStyle: space # # The `space` style enforces that reference brackets have # # surrounding space. # # # bad # hash # array # # # good # hash[ :key ] # array[ index ] # @example EnforcedStyleForEmptyBrackets: no_space (default) # # The `no_space` EnforcedStyleForEmptyBrackets style enforces that # # empty reference brackets do not contain spaces. # # # bad # foo[ ] # foo[ ] # foo[ # ] # # # good # foo[] # @example EnforcedStyleForEmptyBrackets: space # # The `space` EnforcedStyleForEmptyBrackets style enforces that # # empty reference brackets contain exactly one space. # # # bad # foo[] # foo[ ] # foo[ # ] # # # good # foo[ ] # # source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#60 class RuboCop::Cop::Layout::SpaceInsideReferenceBrackets < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SurroundingSpace
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#70
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#92
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#121
def closing_bracket(tokens, opening_bracket); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#137
def empty_config; end

# source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#110
def left_ref_bracket(node, tokens); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#132
def previous_token(current_token); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#104
def reference_brackets(node); end

end

# source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#66 RuboCop::Cop::Layout::SpaceInsideReferenceBrackets::EMPTY_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#65 RuboCop::Cop::Layout::SpaceInsideReferenceBrackets::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_inside_reference_brackets.rb#68 RuboCop::Cop::Layout::SpaceInsideReferenceBrackets::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for whitespace within string interpolations. # # @example EnforcedStyle: no_space (default) # # bad # var = “This is the #{ space } example” # # # good # var = “This is the #{no_space} example” # @example EnforcedStyle: space # # bad # var = “This is the #{no_space} example” # # # good # var = “This is the #{ space } example” # # source://rubocop//lib/rubocop/cop/layout/space_inside_string_interpolation.rb#21 class RuboCop::Cop::Layout::SpaceInsideStringInterpolation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Interpolation
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SurroundingSpace
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/space_inside_string_interpolation.rb#31
def on_interpolation(begin_node); end

private

# source://rubocop//lib/rubocop/cop/layout/space_inside_string_interpolation.rb#47
def autocorrect(corrector, begin_node); end

# source://rubocop//lib/rubocop/cop/layout/space_inside_string_interpolation.rb#57
def delimiters(begin_node); end

end

# source://rubocop//lib/rubocop/cop/layout/space_inside_string_interpolation.rb#28 RuboCop::Cop::Layout::SpaceInsideStringInterpolation::NO_SPACE_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/layout/space_inside_string_interpolation.rb#29 RuboCop::Cop::Layout::SpaceInsideStringInterpolation::SPACE_MSG = T.let(T.unsafe(nil), String)

# Looks for trailing blank lines and a final newline in the # source code. # # @example EnforcedStyle: final_newline (default) # # ‘final_newline` looks for one newline at the end of files. # # # bad # class Foo; end # # # EOF # # # bad # class Foo; end # EOF # # # good # class Foo; end # # EOF # @example EnforcedStyle: final_blank_line # # `final_blank_line` looks for one blank line followed by a new line # # at the end of files. # # # bad # class Foo; end # # EOF # # # bad # class Foo; end # EOF # # # good # class Foo; end # # # EOF # # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#40 class RuboCop::Cop::Layout::TrailingEmptyLines < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#45
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#90
def end_with_percent_blank_string?(processed_source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#80
def ends_in_end?(processed_source); end

# source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#94
def message(wanted_blank_lines, blank_lines); end

# source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#67
def offense_detected(buffer, wanted_blank_lines, blank_lines, whitespace_at_end); end

end

# Looks for trailing whitespace in the source code. # # @example # # The line in this example contains spaces after the 0. # # bad # x = 0 # # # The line in this example ends directly after the 0. # # good # x = 0 # @example AllowInHeredoc: false (default) # # The line in this example contains spaces after the 0. # # bad # code = <<~RUBY # x = 0 # RUBY # # # ok # code = <<~RUBY # x = 0 #{} # RUBY # # # good # trailing_whitespace = ‘ ’ # code = <<~RUBY # x = 0#{trailing_whitespace} # RUBY # @example AllowInHeredoc: true # # The line in this example contains spaces after the 0. # # good # code = <<~RUBY # x = 0 # RUBY # # source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#42 class RuboCop::Cop::Layout::TrailingWhitespace < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::Heredoc
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#57
def on_heredoc(_node); end

# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#49
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#112
def extract_heredocs(ast); end

# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#103
def find_heredoc(line_number); end

# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#108
def heredocs; end

# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#125
def offense_range(lineno, line); end

# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#61
def process_line(line, lineno); end

# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#75
def process_line_in_heredoc(corrector, range, heredoc); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#99
def skip_heredoc?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#95
def static?(heredoc); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#86
def whitespace_is_indentation?(range, level); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#90
def whitespace_only?(range); end

end

# source://rubocop//lib/rubocop/cop/layout/trailing_whitespace.rb#47 RuboCop::Cop::Layout::TrailingWhitespace::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/legacy/corrections_proxy.rb#5 module RuboCop::Cop::Legacy; end

# Legacy support for Corrector#corrections # See docs.rubocop.org/rubocop/v1_upgrade_notes.html # # source://rubocop//lib/rubocop/cop/legacy/corrections_proxy.rb#8 class RuboCop::Cop::Legacy::CorrectionsProxy

# @return [CorrectionsProxy] a new instance of CorrectionsProxy
#
# source://rubocop//lib/rubocop/cop/legacy/corrections_proxy.rb#9
def initialize(corrector); end

# source://rubocop//lib/rubocop/cop/legacy/corrections_proxy.rb#13
def <<(callable); end

# source://rubocop//lib/rubocop/cop/legacy/corrections_proxy.rb#21
def concat(corrections); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/legacy/corrections_proxy.rb#17
def empty?; end

protected

# Returns the value of attribute corrector.
#
# source://rubocop//lib/rubocop/cop/legacy/corrections_proxy.rb#31
def corrector; end

private

# source://rubocop//lib/rubocop/cop/legacy/corrections_proxy.rb#35
def suppress_clobbering; end

end

# This class handles autocorrection for code that needs to be moved # to new lines. # # source://rubocop//lib/rubocop/cop/correctors/line_break_corrector.rb#7 class RuboCop::Cop::LineBreakCorrector

extend ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::TrailingBody
extend ::RuboCop::PathUtil
extend ::RuboCop::Cop::Util

class << self
  # source://rubocop//lib/rubocop/cop/correctors/line_break_corrector.rb#27
  def break_line_before(range:, node:, corrector:, configured_width:, indent_steps: T.unsafe(nil)); end

  # source://rubocop//lib/rubocop/cop/correctors/line_break_corrector.rb#15
  def correct_trailing_body(configured_width:, corrector:, node:, processed_source:); end

  # source://rubocop//lib/rubocop/cop/correctors/line_break_corrector.rb#35
  def move_comment(eol_comment:, node:, corrector:); end

  # Returns the value of attribute processed_source.
  #
  # source://rubocop//lib/rubocop/cop/correctors/line_break_corrector.rb#13
  def processed_source; end

  private

  # source://rubocop//lib/rubocop/cop/correctors/line_break_corrector.rb#45
  def remove_semicolon(node, corrector); end

  # source://rubocop//lib/rubocop/cop/correctors/line_break_corrector.rb#51
  def semicolon(node); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/correctors/line_break_corrector.rb#58
  def trailing_class_definition?(token, body); end
end

end

# Help methods for determining if a line is too long. # # source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#6 module RuboCop::Cop::LineLengthHelp

include ::RuboCop::Cop::Alignment

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#24
def allow_uri?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#28
def allowed_uri_position?(line, uri_range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#15
def directive_on_source_line?(line_index); end

# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#72
def extend_uri_end_position(line, end_position); end

# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#36
def find_excessive_uri_range(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#11
def ignore_cop_directives?; end

# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#59
def indentation_difference(line); end

# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#32
def line_length(line); end

# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#105
def line_length_without_directive(line); end

# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#51
def match_uris(string); end

# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#88
def tab_indentation_width; end

# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#93
def uri_regexp; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/line_length_help.rb#98
def valid_uri?(uri_ish_string); end

end

# source://rubocop//lib/rubocop/cop/mixin/unused_argument.rb#5 module RuboCop::Cop::Lint; end

# Checks for mistyped shorthand assignments. # # @example # # bad # x =- y # x =+ y # x =* y # x =! y # # # good # x -= y # or x = -y # x += y # or x = +y # x *= y # or x = *y # x != y # or x = !y # # source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#21 class RuboCop::Cop::Lint::AmbiguousAssignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#30
def on_asgn(node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#30
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#30
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#30
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#30
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#30
def on_lvasgn(node); end

private

# source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#44
def rhs(node); end

end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#28 RuboCop::Cop::Lint::AmbiguousAssignment::MISTAKES = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#24 RuboCop::Cop::Lint::AmbiguousAssignment::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/ambiguous_assignment.rb#26 RuboCop::Cop::Lint::AmbiguousAssignment::SIMPLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)

# Checks for ambiguous block association with method # when param passed without parentheses. # # This cop can customize allowed methods with ‘AllowedMethods`. # By default, there are no methods to allowed. # # @example # # # bad # some_method a { |val| puts val } # @example # # # good # # With parentheses, there’s no ambiguity. # some_method(a { |val| puts val }) # # or (different meaning) # some_method(a) { |val| puts val } # # # good # # Operator methods require no disambiguation # foo == bar { |b| b.baz } # # # good # # Lambda arguments require no disambiguation # foo = ->(bar) { bar.baz } # @example AllowedMethods: [] (default) # # # bad # expect { do_something }.to change { object.attribute } # @example AllowedMethods: [change] # # # good # expect { do_something }.to change { object.attribute } # @example AllowedPatterns: [] (default) # # # bad # expect { do_something }.to change { object.attribute } # @example AllowedPatterns: [‘change’] # # # good # expect { do_something }.to change { object.attribute } # expect { do_something }.to not_change { object.attribute } # # source://rubocop//lib/rubocop/cop/lint/ambiguous_block_association.rb#54 class RuboCop::Cop::Lint::AmbiguousBlockAssociation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/ambiguous_block_association.rb#64
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_block_association.rb#64
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_block_association.rb#85
def allowed_method_pattern?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_block_association.rb#81
def ambiguous_block_association?(send_node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_block_association.rb#91
def message(send_node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_block_association.rb#97
def wrap_in_parentheses(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_block_association.rb#60 RuboCop::Cop::Lint::AmbiguousBlockAssociation::MSG = T.let(T.unsafe(nil), String)

# Checks for ambiguous operators in the first argument of a # method invocation without parentheses. # # @example # # # bad # # # The ‘*` is interpreted as a splat operator but it could possibly be # # a `*` method invocation (i.e. `do_something.*(some_array)`). # do_something *some_array # @example # # # good # # # With parentheses, there’s no ambiguity. # do_something(*some_array) # # source://rubocop//lib/rubocop/cop/lint/ambiguous_operator.rb#23 class RuboCop::Cop::Lint::AmbiguousOperator < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator.rb#45
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator.rb#64
def find_offense_node_by(diagnostic); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator.rb#82
def message(diagnostic); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator.rb#92
def offense_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator.rb#88
def offense_position?(node, diagnostic); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator.rb#101
def unary_operator?(node, diagnostic); end

class << self
  # source://rubocop//lib/rubocop/cop/lint/ambiguous_operator.rb#41
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator.rb#26 RuboCop::Cop::Lint::AmbiguousOperator::AMBIGUITIES = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator.rb#36 RuboCop::Cop::Lint::AmbiguousOperator::MSG_FORMAT = T.let(T.unsafe(nil), String)

# Looks for expressions containing multiple binary operators # where precedence is ambiguous due to lack of parentheses. For example, # in ‘1 + 2 * 3`, the multiplication will happen before the addition, but # lexically it appears that the addition will happen first. # # The cop does not consider unary operators (ie. `!a` or `-b`) or comparison # operators (ie. `a =~ b`) because those are not ambiguous. # # NOTE: Ranges are handled by `Lint/AmbiguousRange`. # # @example # # bad # a + b * c # a || b && c # a ** b + c # # # good (different precedence) # a + (b * c) # a || (b && c) # (a ** b) + c # # # good (same precedence) # a + b + c # a * b / c % d # # source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#30 class RuboCop::Cop::Lint::AmbiguousOperatorPrecedence < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#54
def on_and(node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#47
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#65
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#105
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#89
def greater_precedence?(node1, node2); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#85
def operator?(node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#97
def operator_name(node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#79
def precedence(node); end

end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#45 RuboCop::Cop::Lint::AmbiguousOperatorPrecedence::MSG = T.let(T.unsafe(nil), String)

# See ruby-doc.org/core-3.0.2/doc/syntax/precedence_rdoc.html # # source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#34 RuboCop::Cop::Lint::AmbiguousOperatorPrecedence::PRECEDENCE = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/ambiguous_operator_precedence.rb#44 RuboCop::Cop::Lint::AmbiguousOperatorPrecedence::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for ambiguous ranges. # # Ranges have quite low precedence, which leads to unexpected behavior when # using a range with other operators. This cop avoids that by making ranges # explicit by requiring parenthesis around complex range boundaries (anything # that is not a literal: numerics, strings, symbols, etc.). # # This cop can be configured with ‘RequireParenthesesForMethodChains` in order to # specify whether method chains (including `self.foo`) should be wrapped in parens # by this cop. # # NOTE: Regardless of this configuration, if a method receiver is a basic literal # value, it will be wrapped in order to prevent the ambiguity of `1..2.to_a`. # # @example # # bad # x || 1..2 # (x || 1..2) # 1..2.to_a # # # good, unambiguous # 1..2 # ’a’..‘z’ # :bar..:baz # MyClass::MIN..MyClass::MAX # @min..@max # a..b # -a..b # # # good, ambiguity removed # x || (1..2) # (x || 1)..2 # (x || 1)..(y || 2) # (1..2).to_a # @example RequireParenthesesForMethodChains: false (default) # # good # a.foo..b.bar # (a.foo)..(b.bar) # @example RequireParenthesesForMethodChains: true # # bad # a.foo..b.bar # # # good # (a.foo)..(b.bar) # # source://rubocop//lib/rubocop/cop/lint/ambiguous_range.rb#59 class RuboCop::Cop::Lint::AmbiguousRange < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/ambiguous_range.rb#64
def on_erange(node); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_range.rb#64
def on_irange(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_range.rb#82
def acceptable?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_range.rb#89
def acceptable_call?(node); end

# @yield [range.begin]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_range.rb#77
def each_boundary(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_range.rb#99
def require_parentheses_for_method_chain?; end

end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_range.rb#62 RuboCop::Cop::Lint::AmbiguousRange::MSG = T.let(T.unsafe(nil), String)

# Checks for ambiguous regexp literals in the first argument of # a method invocation without parentheses. # # @example # # # bad # # # This is interpreted as a method invocation with a regexp literal, # # but it could possibly be ‘/` method invocations. # # (i.e. `do_something./(pattern)./(i)`) # do_something /pattern/i # @example # # # good # # # With parentheses, there’s no ambiguity. # do_something(/pattern/i) # # source://rubocop//lib/rubocop/cop/lint/ambiguous_regexp_literal.rb#24 class RuboCop::Cop::Lint::AmbiguousRegexpLiteral < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/ambiguous_regexp_literal.rb#31
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/lint/ambiguous_regexp_literal.rb#56
def find_offense_node(node, regexp_receiver); end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_regexp_literal.rb#49
def find_offense_node_by(diagnostic); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_regexp_literal.rb#67
def first_argument_is_regexp?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ambiguous_regexp_literal.rb#71
def method_chain_to_regexp_receiver?(node, regexp_receiver); end

end

# source://rubocop//lib/rubocop/cop/lint/ambiguous_regexp_literal.rb#27 RuboCop::Cop::Lint::AmbiguousRegexpLiteral::MSG = T.let(T.unsafe(nil), String)

# Checks for assignments in the conditions of # if/while/until. # # ‘AllowSafeAssignment` option for safe assignment. # By safe assignment we mean putting parentheses around # an assignment to indicate “I know I’m using an assignment # as a condition. It’s not a mistake.” # # @example # # bad # if some_var = value # do_something # end # # # good # if some_var == value # do_something # end # @example AllowSafeAssignment: true (default) # # good # if (some_var = value) # do_something # end # @example AllowSafeAssignment: false # # bad # if (some_var = value) # do_something # end # # source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#41 class RuboCop::Cop::Lint::AssignmentInCondition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::SafeAssignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#55
def on_if(node); end

# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#55
def on_until(node); end

# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#55
def on_while(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#82
def allowed_construct?(asgn_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#86
def conditional_assignment?(asgn_node); end

# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#74
def message(_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#90
def skip_children?(asgn_node); end

# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#96
def traverse_node(node, &block); end

end

# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#53 RuboCop::Cop::Lint::AssignmentInCondition::ASGN_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#50 RuboCop::Cop::Lint::AssignmentInCondition::MSG_WITHOUT_SAFE_ASSIGNMENT_ALLOWED = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/assignment_in_condition.rb#46 RuboCop::Cop::Lint::AssignmentInCondition::MSG_WITH_SAFE_ASSIGNMENT_ALLOWED = T.let(T.unsafe(nil), String)

# ‘BigDecimal.new()` is deprecated since BigDecimal 1.3.3. # This cop identifies places where `BigDecimal.new()` # can be replaced by `BigDecimal()`. # # @example # # bad # BigDecimal.new(123.456, 3) # # # good # BigDecimal(123.456, 3) # # source://rubocop//lib/rubocop/cop/lint/big_decimal_new.rb#17 class RuboCop::Cop::Lint::BigDecimalNew < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/big_decimal_new.rb#25
def big_decimal_new(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/big_decimal_new.rb#30
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/lint/big_decimal_new.rb#20 RuboCop::Cop::Lint::BigDecimalNew::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/big_decimal_new.rb#22 RuboCop::Cop::Lint::BigDecimalNew::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for places where binary operator has identical operands. # # It covers arithmetic operators: ‘-`, `/`, `%`; # comparison operators: `==`, `===`, `=~`, `>`, `>=`, `<`, “<=“; # bitwise operators: `|`, `^`, `&`; # boolean operators: `&&`, `||` # and “spaceship” operator - “<=>“. # # Simple arithmetic operations are allowed by this cop: `+`, `*`, `**`, `<<` and `>>`. # Although these can be rewritten in a different way, it should not be necessary to # do so. This does not include operations such as `-` or `/` where the result will # always be the same (`x - x` will always be 0; `x / x` will always be 1), and # thus are legitimate offenses. # # @example # # bad # x / x # x.top >= x.top # # if a.x != 0 && a.x != 0 # do_something # end # # def child? # left_child || left_child # end # # # good # x + x # 1 << 1 # # source://rubocop//lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb#48 class RuboCop::Cop::Lint::BinaryOperatorWithIdenticalOperands < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb#61
def on_and(node); end

# source://rubocop//lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb#61
def on_or(node); end

# source://rubocop//lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb#52
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb#50 RuboCop::Cop::Lint::BinaryOperatorWithIdenticalOperands::ALLOWED_MATH_OPERATORS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb#49 RuboCop::Cop::Lint::BinaryOperatorWithIdenticalOperands::MSG = T.let(T.unsafe(nil), String)

# Checks for ‘:true` and `:false` symbols. # In most cases it would be a typo. # # @example # # # bad # :true # # # good # true # @example # # # bad # :false # # # good # false # # source://rubocop//lib/rubocop/cop/lint/boolean_symbol.rb#29 class RuboCop::Cop::Lint::BooleanSymbol < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/boolean_symbol.rb#35
def boolean_symbol?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/boolean_symbol.rb#37
def on_sym(node); end

private

# source://rubocop//lib/rubocop/cop/lint/boolean_symbol.rb#50
def autocorrect(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/lint/boolean_symbol.rb#32 RuboCop::Cop::Lint::BooleanSymbol::MSG = T.let(T.unsafe(nil), String)

# Checks for circular argument references in optional keyword # arguments and optional ordinal arguments. # # This cop mirrors a warning produced by MRI since 2.2. # # @example # # # bad # # def bake(pie: pie) # pie.heat_up # end # @example # # # good # # def bake(pie:) # pie.refrigerate # end # @example # # # good # # def bake(pie: self.pie) # pie.feed_to(user) # end # @example # # # bad # # def cook(dry_ingredients = dry_ingredients) # dry_ingredients.reduce(&:+) # end # @example # # # good # # def cook(dry_ingredients = self.dry_ingredients) # dry_ingredients.combine # end # # source://rubocop//lib/rubocop/cop/lint/circular_argument_reference.rb#50 class RuboCop::Cop::Lint::CircularArgumentReference < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/circular_argument_reference.rb#53
def on_kwoptarg(node); end

# source://rubocop//lib/rubocop/cop/lint/circular_argument_reference.rb#57
def on_optarg(node); end

private

# source://rubocop//lib/rubocop/cop/lint/circular_argument_reference.rb#63
def check_for_circular_argument_references(arg_name, arg_value); end

end

# source://rubocop//lib/rubocop/cop/lint/circular_argument_reference.rb#51 RuboCop::Cop::Lint::CircularArgumentReference::MSG = T.let(T.unsafe(nil), String)

# Do not define constants within a block, since the block’s scope does not # isolate or namespace the constant in any way. # # If you are trying to define that constant once, define it outside of # the block instead, or use a variable or method if defining the constant # in the outer scope would be problematic. # # For meta-programming, use ‘const_set`. # # @example # # bad # task :lint do # FILES_TO_LINT = Dir # end # # # bad # describe ’making a request’ do # class TestRequest; end # end # # # bad # module M # extend ActiveSupport::Concern # included do # LIST = [] # end # end # # # good # task :lint do # files_to_lint = Dir # end # # # good # describe ‘making a request’ do # let(:test_request) { Class.new } # # see also ‘stub_const` for RSpec # end # # # good # module M # extend ActiveSupport::Concern # included do # const_set(:LIST, []) # end # end # @example AllowedMethods: [’enums’] (default) # # good # # # ‘enums` for Typed Enums via `T::Enum` in Sorbet. # # sorbet.org/docs/tenum # class TestEnum < T::Enum # enums do # Foo = new(“foo”) # end # end # # source://rubocop//lib/rubocop/cop/lint/constant_definition_in_block.rb#64 class RuboCop::Cop::Lint::ConstantDefinitionInBlock < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods

# source://rubocop//lib/rubocop/cop/lint/constant_definition_in_block.rb#70
def constant_assigned_in_block?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/constant_definition_in_block.rb#75
def module_defined_in_block?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/constant_definition_in_block.rb#79
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/lint/constant_definition_in_block.rb#85
def on_class(node); end

# source://rubocop//lib/rubocop/cop/lint/constant_definition_in_block.rb#85
def on_module(node); end

private

# source://rubocop//lib/rubocop/cop/lint/constant_definition_in_block.rb#94
def method_name(node); end

end

# source://rubocop//lib/rubocop/cop/lint/constant_definition_in_block.rb#67 RuboCop::Cop::Lint::ConstantDefinitionInBlock::MSG = T.let(T.unsafe(nil), String)

# Checks for overwriting an exception with an exception result by use “rescue =>“. # # You intended to write as ‘rescue StandardError`. # However, you have written `rescue => StandardError`. # In that case, the result of `rescue` will overwrite `StandardError`. # # @example # # # bad # begin # something # rescue => StandardError # end # # # good # begin # something # rescue StandardError # end # # source://rubocop//lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb#26 class RuboCop::Cop::Lint::ConstantOverwrittenInRescue < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb#41
def on_resbody(node); end

# source://rubocop//lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb#33
def overwritten_constant(param0 = T.unsafe(nil)); end

class << self
  # source://rubocop//lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb#37
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb#30 RuboCop::Cop::Lint::ConstantOverwrittenInRescue::MSG = T.let(T.unsafe(nil), String)

# Check that certain constants are fully qualified. # # This is not enabled by default because it would mark a lot of offenses # unnecessarily. # # Generally, gems should fully qualify all constants to avoid conflicts with # the code that uses the gem. Enable this cop without using ‘Only`/`Ignore` # # Large projects will over time end up with one or two constant names that # are problematic because of a conflict with a library or just internally # using the same name a namespace and a class. To avoid too many unnecessary # offenses, Enable this cop with `Only: [The, Constant, Names, Causing, Issues]` # # NOTE: `Style/RedundantConstantBase` cop is disabled if this cop is enabled to prevent # conflicting rules. Because it respects user configurations that want to enable # this cop which is disabled by default. # # @example # # By default checks every constant # # # bad # User # # # bad # User::Login # # # good # ::User # # # good # ::User::Login # @example Only: [’Login’] # # Restrict this cop to only being concerned about certain constants # # # bad # Login # # # good # ::Login # # # good # User::Login # @example Ignore: [‘Login’] # # Restrict this cop not being concerned about certain constants # # # bad # User # # # good # ::User::Login # # # good # Login # # source://rubocop//lib/rubocop/cop/lint/constant_resolution.rb#62 class RuboCop::Cop::Lint::ConstantResolution < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/constant_resolution.rb#70
def on_const(node); end

# source://rubocop//lib/rubocop/cop/lint/constant_resolution.rb#66
def unqualified_const?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/lint/constant_resolution.rb#83
def allowed_names; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/constant_resolution.rb#78
def const_name?(name); end

# source://rubocop//lib/rubocop/cop/lint/constant_resolution.rb#87
def ignored_names; end

end

# source://rubocop//lib/rubocop/cop/lint/constant_resolution.rb#63 RuboCop::Cop::Lint::ConstantResolution::MSG = T.let(T.unsafe(nil), String)

# Checks for debug calls (such as ‘debugger` or `binding.pry`) that should # not be kept for production code. # # The cop can be configured using `DebuggerMethods`. By default, a number of gems # debug entrypoints are configured (`Kernel`, `Byebug`, `Capybara`, `debug.rb`, # `Pry`, `Rails`, `RubyJard`, and `WebConsole`). Additional methods can be added. # # Specific default groups can be disabled if necessary: # # [source,yaml] # —- # Lint/Debugger: # DebuggerMethods: # WebConsole: ~ # —- # # You can also add your own methods by adding a new category: # # [source,yaml] # —- # Lint/Debugger: # DebuggerMethods: # MyDebugger: # MyDebugger.debug_this # —- # # Some gems also ship files that will start a debugging session when required, # for example `require ’debug/start’‘ from `ruby/debug`. These requires can # be configured through `DebuggerRequires`. It has the same structure as # `DebuggerMethods`, which you can read about above. # # @example # # # bad (ok during development) # # # using pry # def some_method # binding.pry # do_something # end # @example # # # bad (ok during development) # # # using byebug # def some_method # byebug # do_something # end # @example # # # good # # def some_method # do_something # end # @example DebuggerMethods: [my_debugger] # # # bad (ok during development) # # def some_method # my_debugger # end # @example DebuggerRequires: [my_debugger/start] # # # bad (ok during development) # # require ’my_debugger/start’ # # source://rubocop//lib/rubocop/cop/lint/debugger.rb#78 class RuboCop::Cop::Lint::Debugger < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/debugger.rb#82
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/debugger.rb#142
def assumed_argument?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/debugger.rb#121
def assumed_usage_context?(node); end

# source://rubocop//lib/rubocop/cop/lint/debugger.rb#131
def chained_method_name(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/debugger.rb#108
def debugger_method?(send_node); end

# source://rubocop//lib/rubocop/cop/lint/debugger.rb#94
def debugger_methods; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/debugger.rb#114
def debugger_require?(send_node); end

# source://rubocop//lib/rubocop/cop/lint/debugger.rb#101
def debugger_requires; end

# source://rubocop//lib/rubocop/cop/lint/debugger.rb#90
def message(node); end

end

# source://rubocop//lib/rubocop/cop/lint/debugger.rb#80 RuboCop::Cop::Lint::Debugger::BLOCK_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/debugger.rb#79 RuboCop::Cop::Lint::Debugger::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of the deprecated class method usages. # # @example # # # bad # File.exists?(some_path) # Dir.exists?(some_path) # iterator? # attr :name, true # attr :name, false # ENV.freeze # Calling ‘Env.freeze` raises `TypeError` since Ruby 2.7. # ENV.clone # ENV.dup # Calling `Env.dup` raises `TypeError` since Ruby 3.1. # Socket.gethostbyname(host) # Socket.gethostbyaddr(host) # # # good # File.exist?(some_path) # Dir.exist?(some_path) # block_given? # attr_accessor :name # attr_reader :name # ENV # `ENV.freeze` cannot prohibit changes to environment variables. # ENV.to_h # ENV.to_h # `ENV.dup` cannot dup `ENV`, use `ENV.to_h` to get a copy of `ENV` as a hash. # Addrinfo.getaddrinfo(nodename, service) # Addrinfo.tcp(host, port).getnameinfo # # source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#33 class RuboCop::Cop::Lint::DeprecatedClassMethods < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#53
def deprecated_class_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#63
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#112
def dir_env_file_const?(node); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#83
def offense_range(node); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#93
def preferred_method(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#108
def socket_const?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#50 RuboCop::Cop::Lint::DeprecatedClassMethods::DIR_ENV_FILE_CONSTANTS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#36 RuboCop::Cop::Lint::DeprecatedClassMethods::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#41 RuboCop::Cop::Lint::DeprecatedClassMethods::PREFERRED_METHODS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/lint/deprecated_class_methods.rb#37 RuboCop::Cop::Lint::DeprecatedClassMethods::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for deprecated constants. # # It has ‘DeprecatedConstants` config. If there is an alternative method, you can set # alternative value as `Alternative`. And you can set the deprecated version as # `DeprecatedVersion`. These options can be omitted if they are not needed. # # DeprecatedConstants: # ’DEPRECATED_CONSTANT’: # Alternative: ‘alternative_value’ # DeprecatedVersion: ‘deprecated_version’ # # By default, ‘NIL`, `TRUE`, `FALSE`, `Net::HTTPServerException, `Random::DEFAULT`, # `Struct::Group`, and `Struct::Passwd` are configured. # # @example # # # bad # NIL # TRUE # FALSE # Net::HTTPServerException # Random::DEFAULT # Return value of Ruby 2 is `Random` instance, Ruby 3.0 is `Random` class. # Struct::Group # Struct::Passwd # # # good # nil # true # false # Net::HTTPClientException # Random.new # `::DEFAULT` has been deprecated in Ruby 3, `.new` is compatible with Ruby 2. # Etc::Group # Etc::Passwd # # source://rubocop//lib/rubocop/cop/lint/deprecated_constants.rb#40 class RuboCop::Cop::Lint::DeprecatedConstants < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/deprecated_constants.rb#46
def on_const(node); end

private

# source://rubocop//lib/rubocop/cop/lint/deprecated_constants.rb#66
def constant_name(node, nested_constant_name); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_constants.rb#82
def deprecated_constants; end

# source://rubocop//lib/rubocop/cop/lint/deprecated_constants.rb#72
def message(good, bad, deprecated_version); end

end

# source://rubocop//lib/rubocop/cop/lint/deprecated_constants.rb#44 RuboCop::Cop::Lint::DeprecatedConstants::DO_NOT_USE_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/deprecated_constants.rb#43 RuboCop::Cop::Lint::DeprecatedConstants::SUGGEST_GOOD_MSG = T.let(T.unsafe(nil), String)

# Algorithmic constants for ‘OpenSSL::Cipher` and `OpenSSL::Digest` # deprecated since OpenSSL version 2.2.0. Prefer passing a string # instead. # # @example # # # Example for OpenSSL::Cipher instantiation. # # # bad # OpenSSL::Cipher::AES.new(128, :GCM) # # # good # OpenSSL::Cipher.new(’aes-128-gcm’) # @example # # # Example for OpenSSL::Digest instantiation. # # # bad # OpenSSL::Digest::SHA256.new # # # good # OpenSSL::Digest.new(‘SHA256’) # @example # # # Example for ::Digest inherited class methods. # # # bad # OpenSSL::Digest::SHA256.digest(‘foo’) # # # good # OpenSSL::Digest.digest(‘SHA256’, ‘foo’) # # source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#40 class RuboCop::Cop::Lint::DeprecatedOpenSSLConstant < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#49
def algorithm_const(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#59
def digest_const?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#63
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#110
def algorithm_name(node); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#75
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#139
def build_cipher_arguments(node, algorithm_name, no_arguments); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#102
def correction_range(node); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#87
def message(node); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#106
def openssl_class(node); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#128
def replacement_args(node); end

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#120
def sanitize_arguments(arguments); end

end

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#44 RuboCop::Cop::Lint::DeprecatedOpenSSLConstant::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb#46 RuboCop::Cop::Lint::DeprecatedOpenSSLConstant::NO_ARG_ALGORITHM = T.let(T.unsafe(nil), Array)

# Checks constructors for disjunctive assignments (‘||=`) that should # be plain assignments. # # So far, this cop is only concerned with disjunctive assignment of # instance variables. # # In ruby, an instance variable is nil until a value is assigned, so the # disjunction is unnecessary. A plain assignment has the same effect. # # @example # # bad # def initialize # @x ||= 1 # end # # # good # def initialize # @x = 1 # end # # source://rubocop//lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb#48 class RuboCop::Cop::Lint::DisjunctiveAssignmentInConstructor < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb#53
def on_def(node); end

private

# @param node [DefNode] a constructor definition
#
# source://rubocop//lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb#60
def check(node); end

# source://rubocop//lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb#66
def check_body(body); end

# @param lines [Array] the logical lines of the constructor
#
# source://rubocop//lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb#78
def check_body_lines(lines); end

# Add an offense if the LHS of the given disjunctive assignment is
# an instance variable.
#
# For now, we only care about assignments to instance variables.
#
# @param node [Node] a disjunctive assignment
#
# source://rubocop//lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb#99
def check_disjunctive_assignment(node); end

end

# source://rubocop//lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb#51 RuboCop::Cop::Lint::DisjunctiveAssignmentInConstructor::MSG = T.let(T.unsafe(nil), String)

# Checks that there are no repeated bodies # within ‘if/unless`, `case-when`, `case-in` and `rescue` constructs. # # With `IgnoreLiteralBranches: true`, branches are not registered # as offenses if they return a basic literal value (string, symbol, # integer, float, rational, complex, `true`, `false`, or `nil`), or # return an array, hash, regexp or range that only contains one of # the above basic literal values. # # With `IgnoreConstantBranches: true`, branches are not registered # as offenses if they return a constant value. # # @example # # bad # if foo # do_foo # do_something_else # elsif bar # do_foo # do_something_else # end # # # good # if foo || bar # do_foo # do_something_else # end # # # bad # case x # when foo # do_foo # when bar # do_foo # else # do_something_else # end # # # good # case x # when foo, bar # do_foo # else # do_something_else # end # # # bad # begin # do_something # rescue FooError # handle_error # rescue BarError # handle_error # end # # # good # begin # do_something # rescue FooError, BarError # handle_error # end # @example IgnoreLiteralBranches: true # # good # case size # when “small” then 100 # when “medium” then 250 # when “large” then 1000 # else 250 # end # @example IgnoreConstantBranches: true # # good # case size # when “small” then SMALL_SIZE # when “medium” then MEDIUM_SIZE # when “large” then LARGE_SIZE # else MEDIUM_SIZE # end # # source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#86 class RuboCop::Cop::Lint::DuplicateBranch < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#89
def on_branching_statement(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#89
def on_case(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#89
def on_case_match(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#89
def on_if(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#89
def on_rescue(node); end

private

# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#117
def branches(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#121
def consider_branch?(branch); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#147
def const_branch?(branch); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#132
def ignore_constant_branches?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#128
def ignore_literal_branches?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#136
def literal_branch?(branch); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#103
def offense_range(duplicate_branch); end

end

# source://rubocop//lib/rubocop/cop/lint/duplicate_branch.rb#87 RuboCop::Cop::Lint::DuplicateBranch::MSG = T.let(T.unsafe(nil), String)

# Checks that there are no repeated conditions # used in case ‘when’ expressions. # # @example # # # bad # # case x # when ‘first’ # do_something # when ‘first’ # do_something_else # end # @example # # # good # # case x # when ‘first’ # do_something # when ‘second’ # do_something_else # end # # source://rubocop//lib/rubocop/cop/lint/duplicate_case_condition.rb#30 class RuboCop::Cop::Lint::DuplicateCaseCondition < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/duplicate_case_condition.rb#33
def on_case(case_node); end

end

# source://rubocop//lib/rubocop/cop/lint/duplicate_case_condition.rb#31 RuboCop::Cop::Lint::DuplicateCaseCondition::MSG = T.let(T.unsafe(nil), String)

# Checks that there are no repeated conditions used in if ‘elsif’. # # @example # # bad # if x == 1 # do_something # elsif x == 1 # do_something_else # end # # # good # if x == 1 # do_something # elsif x == 2 # do_something_else # end # # source://rubocop//lib/rubocop/cop/lint/duplicate_elsif_condition.rb#23 class RuboCop::Cop::Lint::DuplicateElsifCondition < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/duplicate_elsif_condition.rb#26
def on_if(node); end

end

# source://rubocop//lib/rubocop/cop/lint/duplicate_elsif_condition.rb#24 RuboCop::Cop::Lint::DuplicateElsifCondition::MSG = T.let(T.unsafe(nil), String)

# Checks for duplicated keys in hash literals. # This cop considers both primitive types and constants for the hash keys. # # This cop mirrors a warning in Ruby 2.2. # # @example # # # bad # # hash = { food: ‘apple’, food: ‘orange’ } # @example # # # good # # hash = { food: ‘apple’, other_food: ‘orange’ } # # source://rubocop//lib/rubocop/cop/lint/duplicate_hash_key.rb#22 class RuboCop::Cop::Lint::DuplicateHashKey < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Duplication

# source://rubocop//lib/rubocop/cop/lint/duplicate_hash_key.rb#27
def on_hash(node); end

end

# source://rubocop//lib/rubocop/cop/lint/duplicate_hash_key.rb#25 RuboCop::Cop::Lint::DuplicateHashKey::MSG = T.let(T.unsafe(nil), String)

# Checks for duplicated magic comments. # # @example # # # bad # # # encoding: ascii # # encoding: ascii # # # good # # # encoding: ascii # # # bad # # # frozen_string_literal: true # # frozen_string_literal: true # # # good # # # frozen_string_literal: true # # source://rubocop//lib/rubocop/cop/lint/duplicate_magic_comment.rb#28 class RuboCop::Cop::Lint::DuplicateMagicComment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::FrozenStringLiteral
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/duplicate_magic_comment.rb#35
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/lint/duplicate_magic_comment.rb#51
def magic_comment_lines; end

# source://rubocop//lib/rubocop/cop/lint/duplicate_magic_comment.rb#65
def register_offense(range); end

end

# source://rubocop//lib/rubocop/cop/lint/duplicate_magic_comment.rb#33 RuboCop::Cop::Lint::DuplicateMagicComment::MSG = T.let(T.unsafe(nil), String)

# Checks that there are no repeated patterns used in ‘in` keywords. # # @example # # # bad # case x # in ’first’ # do_something # in ‘first’ # do_something_else # end # # # good # case x # in ‘first’ # do_something # in ‘second’ # do_something_else # end # # # bad - repeated alternate patterns with the same conditions don’t depend on the order # case x # in foo | bar # first_method # in bar | foo # second_method # end # # # good # case x # in foo | bar # first_method # in bar | baz # second_method # end # # # bad - repeated hash patterns with the same conditions don’t depend on the order # case x # in foo: a, bar: b # first_method # in bar: b, foo: a # second_method # end # # # good # case x # in foo: a, bar: b # first_method # in bar: b, baz: c # second_method # end # # # bad - repeated array patterns with elements in the same order # case x # in [foo, bar] # first_method # in [foo, bar] # second_method # end # # # good # case x # in [foo, bar] # first_method # in [bar, foo] # second_method # end # # # bad - repeated the same patterns and guard conditions # case x # in foo if bar # first_method # in foo if bar # second_method # end # # # good # case x # in foo if bar # first_method # in foo if baz # second_method # end # # source://rubocop//lib/rubocop/cop/lint/duplicate_match_pattern.rb#90 class RuboCop::Cop::Lint::DuplicateMatchPattern < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/lint/duplicate_match_pattern.rb#97
def on_case_match(case_node); end

private

# source://rubocop//lib/rubocop/cop/lint/duplicate_match_pattern.rb#108
def pattern_identity(pattern); end

end

# source://rubocop//lib/rubocop/cop/lint/duplicate_match_pattern.rb#93 RuboCop::Cop::Lint::DuplicateMatchPattern::MSG = T.let(T.unsafe(nil), String)

# Checks for duplicated instance (or singleton) method # definitions. # # @example # # # bad # # def foo # 1 # end # # def foo # 2 # end # @example # # # bad # # def foo # 1 # end # # alias foo bar # @example # # # good # # def foo # 1 # end # # def bar # 2 # end # @example # # # good # # def foo # 1 # end # # alias bar foo # # source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#52 class RuboCop::Cop::Lint::DuplicateMethods < ::RuboCop::Cop::Base

# @return [DuplicateMethods] a new instance of DuplicateMethods
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#57
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#98
def alias_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#85
def method_alias?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#89
def on_alias(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#63
def on_def(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#72
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#104
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#103
def sym_name(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#117
def check_const_receiver(node, name, const_name); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#124
def check_self_receiver(node, name); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#208
def found_attr(node, args, readable: T.unsafe(nil), writable: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#136
def found_instance_method(node, name); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#159
def found_method(node, method_name); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#149
def found_sclass_method(node, name); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#186
def location(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#218
def lookup_constant(node, const_name); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#131
def message_for_dup(node, method_name, key); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#178
def method_key(node, method_name); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#194
def on_attr(node, attr_name, args); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#250
def possible_dsl?(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#236
def qualified_name(enclosing, namespace, mod_name); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#260
def source_location(node); end

end

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#55 RuboCop::Cop::Lint::DuplicateMethods::DEF_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#53 RuboCop::Cop::Lint::DuplicateMethods::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/duplicate_methods.rb#54 RuboCop::Cop::Lint::DuplicateMethods::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for duplicate elements in Regexp character classes. # # @example # # # bad # r = /[xyx]/ # # # bad # r = /[0-9x0-9]/ # # # good # r = /[xy]/ # # # good # r = /[0-9x]/ # # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#21 class RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#37
def each_repeated_character_class_element_loc(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#29
def on_regexp(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#102
def escaped_octal?(string); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#54
def group_expressions(node, expressions); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#110
def interpolation_locs(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#106
def octal?(char); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#71
def pop_octal_digits(current_child, expressions); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#89
def skip_expression?(expr); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#80
def source_range(children); end

# Since we blank interpolations with a space for every char of the interpolation, we would
# mark every space (except the first) as duplicate if we do not skip regexp_parser nodes
# that are within an interpolation.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#96
def within_interpolation?(node, child); end

end

# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#25 RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement::MSG_REPEATED_ELEMENT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#27 RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement::OCTAL_DIGITS_AFTER_ESCAPE = T.let(T.unsafe(nil), Integer)

# Checks for duplicate “require“s and “require_relative“s. # # @example # # bad # require ‘foo’ # require ‘bar’ # require ‘foo’ # # # good # require ‘foo’ # require ‘bar’ # # # good # require ‘foo’ # require_relative ‘foo’ # # source://rubocop//lib/rubocop/cop/lint/duplicate_require.rb#26 class RuboCop::Cop::Lint::DuplicateRequire < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/duplicate_require.rb#39
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/lint/duplicate_require.rb#45
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/duplicate_require.rb#35
def require_call?(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/lint/duplicate_require.rb#30 RuboCop::Cop::Lint::DuplicateRequire::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/duplicate_require.rb#31 RuboCop::Cop::Lint::DuplicateRequire::REQUIRE_METHODS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/lint/duplicate_require.rb#32 RuboCop::Cop::Lint::DuplicateRequire::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set)

# Checks that there are no repeated exceptions # used in ‘rescue’ expressions. # # @example # # bad # begin # something # rescue FirstException # handle_exception # rescue FirstException # handle_other_exception # end # # # good # begin # something # rescue FirstException # handle_exception # rescue SecondException # handle_other_exception # end # # source://rubocop//lib/rubocop/cop/lint/duplicate_rescue_exception.rb#28 class RuboCop::Cop::Lint::DuplicateRescueException < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RescueNode

# source://rubocop//lib/rubocop/cop/lint/duplicate_rescue_exception.rb#33
def on_rescue(node); end

end

# source://rubocop//lib/rubocop/cop/lint/duplicate_rescue_exception.rb#31 RuboCop::Cop::Lint::DuplicateRescueException::MSG = T.let(T.unsafe(nil), String)

# Checks if each_with_object is called with an immutable # argument. Since the argument is the object that the given block shall # make calls on to build something based on the enumerable that # each_with_object iterates over, an immutable argument makes no sense. # It’s definitely a bug. # # @example # # # bad # # sum = numbers.each_with_object(0) { |e, a| a += e } # @example # # # good # # num = 0 # sum = numbers.each_with_object(num) { |e, a| a += e } # # source://rubocop//lib/rubocop/cop/lint/each_with_object_argument.rb#24 class RuboCop::Cop::Lint::EachWithObjectArgument < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/each_with_object_argument.rb#29
def each_with_object?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/each_with_object_argument.rb#33
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/lint/each_with_object_argument.rb#33
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/lint/each_with_object_argument.rb#25 RuboCop::Cop::Lint::EachWithObjectArgument::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/each_with_object_argument.rb#26 RuboCop::Cop::Lint::EachWithObjectArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for odd ‘else` block layout - like # having an expression on the same line as the `else` keyword, # which is usually a mistake. # # Its autocorrection tweaks layout to keep the syntax. So, this autocorrection # is compatible correction for bad case syntax, but if your code makes a mistake # with `elsif` and `else`, you will have to correct it manually. # # @example # # # bad # # if something # # … # else do_this # do_that # end # @example # # # good # # # This code is compatible with the bad case. It will be autocorrected like this. # if something # # … # else # do_this # do_that # end # # # This code is incompatible with the bad case. # # If `do_this` is a condition, `elsif` should be used instead of `else`. # if something # # … # elsif do_this # do_that # end # # source://rubocop//lib/rubocop/cop/lint/else_layout.rb#43 class RuboCop::Cop::Lint::ElseLayout < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/else_layout.rb#50
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/lint/else_layout.rb#81
def autocorrect(corrector, node, first_else); end

# source://rubocop//lib/rubocop/cop/lint/else_layout.rb#61
def check(node); end

# source://rubocop//lib/rubocop/cop/lint/else_layout.rb#71
def check_else(node); end

end

# source://rubocop//lib/rubocop/cop/lint/else_layout.rb#48 RuboCop::Cop::Lint::ElseLayout::MSG = T.let(T.unsafe(nil), String)

# Checks for blocks without a body. # Such empty blocks are typically an oversight or we should provide a comment # to clarify what we’re aiming for. # # Empty lambdas and procs are ignored by default. # # NOTE: For backwards compatibility, the configuration that allows/disallows # empty lambdas and procs is called ‘AllowEmptyLambdas`, even though it also # applies to procs. # # @example # # bad # items.each { |item| } # # # good # items.each { |item| puts item } # @example AllowComments: true (default) # # good # items.each do |item| # # TODO: implement later (inner comment) # end # # items.each { |item| } # TODO: implement later (inline comment) # @example AllowComments: false # # bad # items.each do |item| # # TODO: implement later (inner comment) # end # # items.each { |item| } # TODO: implement later (inline comment) # @example AllowEmptyLambdas: true (default) # # good # allow(subject).to receive(:callable).and_return(-> {}) # # placeholder = lambda do # end # (callable || placeholder).call # # proc { } # # Proc.new { } # @example AllowEmptyLambdas: false # # bad # allow(subject).to receive(:callable).and_return(-> {}) # # placeholder = lambda do # end # (callable || placeholder).call # # proc { } # # Proc.new { } # # source://rubocop//lib/rubocop/cop/lint/empty_block.rb#63 class RuboCop::Cop::Lint::EmptyBlock < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/empty_block.rb#66
def on_block(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_block.rb#76
def allow_comment?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_block.rb#83
def allow_empty_lambdas?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_block.rb#87
def comment_disables_cop?(comment); end

end

# source://rubocop//lib/rubocop/cop/lint/empty_block.rb#64 RuboCop::Cop::Lint::EmptyBlock::MSG = T.let(T.unsafe(nil), String)

# Checks for classes and metaclasses without a body. # Such empty classes and metaclasses are typically an oversight or we should provide a comment # to be clearer what we’re aiming for. # # @example # # bad # class Foo # end # # class Bar # class << self # end # end # # class << obj # end # # # good # class Foo # def do_something # # … code # end # end # # class Bar # class << self # attr_reader :bar # end # end # # class << obj # attr_reader :bar # end # @example AllowComments: false (default) # # bad # class Foo # # TODO: implement later # end # # class Bar # class << self # # TODO: implement later # end # end # # class << obj # # TODO: implement later # end # @example AllowComments: true # # good # class Foo # # TODO: implement later # end # # class Bar # class << self # # TODO: implement later # end # end # # class << obj # # TODO: implement later # end # # source://rubocop//lib/rubocop/cop/lint/empty_class.rb#72 class RuboCop::Cop::Lint::EmptyClass < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/empty_class.rb#76
def on_class(node); end

# source://rubocop//lib/rubocop/cop/lint/empty_class.rb#81
def on_sclass(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_class.rb#87
def body_or_allowed_comment_lines?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/empty_class.rb#73 RuboCop::Cop::Lint::EmptyClass::CLASS_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/empty_class.rb#74 RuboCop::Cop::Lint::EmptyClass::METACLASS_MSG = T.let(T.unsafe(nil), String)

# Checks for the presence of ‘if`, `elsif` and `unless` branches without a body. # # NOTE: empty `else` branches are handled by `Style/EmptyElse`. # # @example # # bad # if condition # end # # # bad # unless condition # end # # # bad # if condition # do_something # elsif other_condition # end # # # good # if condition # do_something # end # # # good # unless condition # do_something # end # # # good # if condition # do_something # elsif other_condition # do_something_else # end # @example AllowComments: true (default) # # good # if condition # do_something # elsif other_condition # # noop # end # @example AllowComments: false # # bad # if condition # do_something # elsif other_condition # # noop # end # # source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#63 class RuboCop::Cop::Lint::EmptyConditionalBody < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CommentsHelp
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#70
def on_if(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#156
def all_branches_body_missing?(node); end

# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#83
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#142
def branch_range(node); end

# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#104
def correct_other_branches(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#162
def deletion_range(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#137
def else_branch?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#131
def empty_elsif_branch?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#123
def empty_if_branch?(node); end

# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#89
def remove_comments(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#96
def remove_empty_branch(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#116
def require_other_branches_correction?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/empty_conditional_body.rb#68 RuboCop::Cop::Lint::EmptyConditionalBody::MSG = T.let(T.unsafe(nil), String)

# Checks for empty ‘ensure` blocks # # @example # # # bad # # def some_method # do_something # ensure # end # @example # # # bad # # begin # do_something # ensure # end # @example # # # good # # def some_method # do_something # ensure # do_something_else # end # @example # # # good # # begin # do_something # ensure # do_something_else # end # # source://rubocop//lib/rubocop/cop/lint/empty_ensure.rb#45 class RuboCop::Cop::Lint::EmptyEnsure < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/empty_ensure.rb#50
def on_ensure(node); end

end

# source://rubocop//lib/rubocop/cop/lint/empty_ensure.rb#48 RuboCop::Cop::Lint::EmptyEnsure::MSG = T.let(T.unsafe(nil), String)

# Checks for the presence of empty expressions. # # @example # # # bad # # foo = () # if () # bar # end # @example # # # good # # foo = (some_expression) # if (some_expression) # bar # end # # source://rubocop//lib/rubocop/cop/lint/empty_expression.rb#25 class RuboCop::Cop::Lint::EmptyExpression < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/empty_expression.rb#28
def on_begin(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_expression.rb#36
def empty_expression?(begin_node); end

end

# source://rubocop//lib/rubocop/cop/lint/empty_expression.rb#26 RuboCop::Cop::Lint::EmptyExpression::MSG = T.let(T.unsafe(nil), String)

# Enforces that Ruby source files are not empty. # # @example # # bad # # Empty file # # # good # # File containing non commented source lines # @example AllowComments: true (default) # # good # # File consisting only of comments # @example AllowComments: false # # bad # # File consisting only of comments # # source://rubocop//lib/rubocop/cop/lint/empty_file.rb#23 class RuboCop::Cop::Lint::EmptyFile < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/lint/empty_file.rb#28
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_file.rb#42
def contains_only_comments?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_file.rb#38
def empty_file?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/empty_file.rb#34
def offending?; end

end

# source://rubocop//lib/rubocop/cop/lint/empty_file.rb#26 RuboCop::Cop::Lint::EmptyFile::MSG = T.let(T.unsafe(nil), String)

# Checks for the presence of ‘in` pattern branches without a body. # # @example # # # bad # case condition # in [a] # do_something # in [a, b] # end # # # good # case condition # in [a] # do_something # in [a, b] # nil # end # @example AllowComments: true (default) # # # good # case condition # in [a] # do_something # in [a, b] # # noop # end # @example AllowComments: false # # # bad # case condition # in [a] # do_something # in [a, b] # # noop # end # # source://rubocop//lib/rubocop/cop/lint/empty_in_pattern.rb#45 class RuboCop::Cop::Lint::EmptyInPattern < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CommentsHelp
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/lint/empty_in_pattern.rb#53
def on_case_match(node); end

end

# source://rubocop//lib/rubocop/cop/lint/empty_in_pattern.rb#49 RuboCop::Cop::Lint::EmptyInPattern::MSG = T.let(T.unsafe(nil), String)

# Checks for empty interpolation. # # @example # # # bad # # “result is #{}” # @example # # # good # # “result is #{some_result}” # # source://rubocop//lib/rubocop/cop/lint/empty_interpolation.rb#19 class RuboCop::Cop::Lint::EmptyInterpolation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Interpolation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/empty_interpolation.rb#25
def on_interpolation(begin_node); end

end

# source://rubocop//lib/rubocop/cop/lint/empty_interpolation.rb#23 RuboCop::Cop::Lint::EmptyInterpolation::MSG = T.let(T.unsafe(nil), String)

# Checks for the presence of ‘when` branches without a body. # # @example # # # bad # case foo # when bar # do_something # when baz # end # @example # # # good # case condition # when foo # do_something # when bar # nil # end # @example AllowComments: true (default) # # # good # case condition # when foo # do_something # when bar # # noop # end # @example AllowComments: false # # # bad # case condition # when foo # do_something # when bar # # do nothing # end # # source://rubocop//lib/rubocop/cop/lint/empty_when.rb#47 class RuboCop::Cop::Lint::EmptyWhen < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CommentsHelp

# source://rubocop//lib/rubocop/cop/lint/empty_when.rb#52
def on_case(node); end

end

# source://rubocop//lib/rubocop/cop/lint/empty_when.rb#50 RuboCop::Cop::Lint::EmptyWhen::MSG = T.let(T.unsafe(nil), String)

# Checks for ‘return` from an `ensure` block. # `return` from an ensure block is a dangerous code smell as it # will take precedence over any exception being raised, # and the exception will be silently thrown away as if it were rescued. # # If you want to rescue some (or all) exceptions, best to do it explicitly # # @example # # # bad # # def foo # do_something # ensure # cleanup # return self # end # @example # # # good # # def foo # do_something # self # ensure # cleanup # end # # # also good # # def foo # begin # do_something # rescue SomeException # # Let’s ignore this exception # end # self # ensure # cleanup # end # # source://rubocop//lib/rubocop/cop/lint/ensure_return.rb#47 class RuboCop::Cop::Lint::EnsureReturn < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/ensure_return.rb#53
def on_ensure(node); end

end

# source://rubocop//lib/rubocop/cop/lint/ensure_return.rb#51 RuboCop::Cop::Lint::EnsureReturn::MSG = T.let(T.unsafe(nil), String)

# Emulates the following Ruby warnings in Ruby 2.6. # # [source,console] # —- # $ cat example.rb # ERB.new(‘hi’, nil, ‘-’, ‘@output_buffer’) # $ ruby -rerb example.rb # example.rb:1: warning: Passing safe_level with the 2nd argument of ERB.new is # deprecated. Do not use it, and specify other arguments as keyword arguments. # example.rb:1: warning: Passing trim_mode with the 3rd argument of ERB.new is # deprecated. Use keyword argument like ERB.new(str, trim_mode:…) instead. # example.rb:1: warning: Passing eoutvar with the 4th argument of ERB.new is # deprecated. Use keyword argument like ERB.new(str, eoutvar: …) instead. # —- # # Now non-keyword arguments other than first one are softly deprecated # and will be removed when Ruby 2.5 becomes EOL. # ‘ERB.new` with non-keyword arguments is deprecated since ERB 2.2.0. # Use `:trim_mode` and `:eoutvar` keyword arguments to `ERB.new`. # This cop identifies places where `ERB.new(str, trim_mode, eoutvar)` can # be replaced by `ERB.new(str, :trim_mode: trim_mode, eoutvar: eoutvar)`. # # @example # # Target codes supports Ruby 2.6 and higher only # # bad # ERB.new(str, nil, ’-‘, ’@output_buffer’) # # # good # ERB.new(str, trim_mode: ‘-’, eoutvar: ‘@output_buffer’) # # # Target codes supports Ruby 2.5 and lower only # # good # ERB.new(str, nil, ‘-’, ‘@output_buffer’) # # # Target codes supports Ruby 2.6, 2.5 and lower # # bad # ERB.new(str, nil, ‘-’, ‘@output_buffer’) # # # good # # Ruby standard library style # # github.com/ruby/ruby/commit/3406c5d # if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+ # ERB.new(str, trim_mode: ‘-’, eoutvar: ‘@output_buffer’) # else # ERB.new(str, nil, ‘-’, ‘@output_buffer’) # end # # # good # # Use ‘RUBY_VERSION` style # if RUBY_VERSION >= ’2.6’ # ERB.new(str, trim_mode: ‘-’, eoutvar: ‘@output_buffer’) # else # ERB.new(str, nil, ‘-’, ‘@output_buffer’) # end # # source://rubocop//lib/rubocop/cop/lint/erb_new_arguments.rb#61 class RuboCop::Cop::Lint::ErbNewArguments < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/lint/erb_new_arguments.rb#83
def erb_new_with_non_keyword_arguments(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/erb_new_arguments.rb#88
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/erb_new_arguments.rb#153
def arguments_range(node); end

# source://rubocop//lib/rubocop/cop/lint/erb_new_arguments.rb#108
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/erb_new_arguments.rb#123
def build_kwargs(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/erb_new_arguments.rb#119
def correct_arguments?(arguments); end

# source://rubocop//lib/rubocop/cop/lint/erb_new_arguments.rb#140
def override_by_legacy_args(kwargs, node); end

end

# source://rubocop//lib/rubocop/cop/lint/erb_new_arguments.rb#68 RuboCop::Cop::Lint::ErbNewArguments::MESSAGES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/erb_new_arguments.rb#80 RuboCop::Cop::Lint::ErbNewArguments::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Looks for uses of flip-flop operator # based on the Ruby Style Guide. # # Here is the history of flip-flops in Ruby. # flip-flop operator is deprecated in Ruby 2.6.0 and # the deprecation has been reverted by Ruby 2.7.0 and # backported to Ruby 2.6. # See: bugs.ruby-lang.org/issues/5400 # # @example # # bad # (1..20).each do |x| # puts x if (x == 5) .. (x == 10) # end # # # good # (1..20).each do |x| # puts x if (x >= 5) && (x <= 10) # end # # source://rubocop//lib/rubocop/cop/lint/flip_flop.rb#25 class RuboCop::Cop::Lint::FlipFlop < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/flip_flop.rb#32
def on_eflipflop(node); end

# source://rubocop//lib/rubocop/cop/lint/flip_flop.rb#28
def on_iflipflop(node); end

end

# source://rubocop//lib/rubocop/cop/lint/flip_flop.rb#26 RuboCop::Cop::Lint::FlipFlop::MSG = T.let(T.unsafe(nil), String)

# Checks for the presence of precise comparison of floating point numbers. # # Floating point values are inherently inaccurate, and comparing them for exact equality # is almost never the desired semantics. Comparison via the ‘==/!=` operators checks # floating-point value representation to be exactly the same, which is very unlikely # if you perform any arithmetic operations involving precision loss. # # # good - comparing against zero # x == 0.0 # x != 0.0 # # # good # (x - 0.1).abs < Float::EPSILON # # # good # tolerance = 0.0001 # (x - 0.1).abs < tolerance # # # Or some other epsilon based type of comparison: # # www.embeddeduse.com/2019/08/26/qt-compare-two-floats/ # # @example # # bad # x == 0.1 # x != 0.1 # # # good - using BigDecimal # x.to_d == 0.1.to_d # # source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#35 class RuboCop::Cop::Lint::FloatComparison < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#44
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#89
def check_numeric_returning_method(node); end

# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#73
def check_send(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#53
def float?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#68
def literal_zero?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#38 RuboCop::Cop::Lint::FloatComparison::EQUALITY_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#40 RuboCop::Cop::Lint::FloatComparison::FLOAT_INSTANCE_METHODS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#39 RuboCop::Cop::Lint::FloatComparison::FLOAT_RETURNING_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#36 RuboCop::Cop::Lint::FloatComparison::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#42 RuboCop::Cop::Lint::FloatComparison::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Identifies Float literals which are, like, really really really # really really really really really big. Too big. No-one needs Floats # that big. If you need a float that big, something is wrong with you. # # @example # # # bad # # float = 3.0e400 # @example # # # good # # float = 42.9 # # source://rubocop//lib/rubocop/cop/lint/float_out_of_range.rb#21 class RuboCop::Cop::Lint::FloatOutOfRange < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/float_out_of_range.rb#24
def on_float(node); end

end

# source://rubocop//lib/rubocop/cop/lint/float_out_of_range.rb#22 RuboCop::Cop::Lint::FloatOutOfRange::MSG = T.let(T.unsafe(nil), String)

# This lint sees if there is a mismatch between the number of # expected fields for format/sprintf/#% and what is actually # passed as arguments. # # In addition it checks whether different formats are used in the same # format string. Do not mix numbered, unnumbered, and named formats in # the same format string. # # @example # # # bad # # format(‘A value: %s and another: %i’, a_value) # @example # # # good # # format(‘A value: %s and another: %i’, a_value, another) # @example # # # bad # # format(‘Unnumbered format: %s and numbered: %2$s’, a_value, another) # @example # # # good # # format(‘Numbered format: %1$s and numbered %2$s’, a_value, another) # # source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#37 class RuboCop::Cop::Lint::FormatParameterMismatch < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#100
def called_on_string?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#49
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#137
def count_format_matches(node); end

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#119
def count_matches(node); end

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#141
def count_percent_matches(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#129
def countable_format?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#133
def countable_percent?(node); end

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#153
def expected_fields_count(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#168
def format?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#146
def format_method?(name, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#64
def format_string?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#115
def heredoc?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#68
def invalid_format_string?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#91
def matched_arguments_count?(expected, passed); end

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#186
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#105
def method_with_format_args?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#77
def offending_node?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#176
def percent?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#109
def splat_args?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#172
def sprintf?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#195
def string_type?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#44 RuboCop::Cop::Lint::FormatParameterMismatch::KERNEL = T.let(T.unsafe(nil), String)

# rubular.com/r/CvpbxkcTzy # # source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#39 RuboCop::Cop::Lint::FormatParameterMismatch::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#41 RuboCop::Cop::Lint::FormatParameterMismatch::MSG_INVALID = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#47 RuboCop::Cop::Lint::FormatParameterMismatch::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#45 RuboCop::Cop::Lint::FormatParameterMismatch::SHOVEL = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/format_parameter_mismatch.rb#46 RuboCop::Cop::Lint::FormatParameterMismatch::STRING_TYPES = T.let(T.unsafe(nil), Array)

# Prefer using ‘Hash#compare_by_identity` rather than using `object_id` # for hash keys. # # This cop looks for hashes being keyed by objects’ ‘object_id`, using # one of these methods: `key?`, `has_key?`, `fetch`, `[]` and `[]=`. # # @example # # bad # hash = {} # hash = :bar # hash.key?(baz.object_id) # # # good # hash = {}.compare_by_identity # hash = :bar # hash.key?(baz) # # source://rubocop//lib/rubocop/cop/lint/hash_compare_by_identity.rb#31 class RuboCop::Cop::Lint::HashCompareByIdentity < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/hash_compare_by_identity.rb#37
def id_as_hash_key?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/hash_compare_by_identity.rb#41
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/lint/hash_compare_by_identity.rb#41
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/lint/hash_compare_by_identity.rb#34 RuboCop::Cop::Lint::HashCompareByIdentity::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/hash_compare_by_identity.rb#32 RuboCop::Cop::Lint::HashCompareByIdentity::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for the ordering of a method call where # the receiver of the call is a HEREDOC. # # @example # # bad # <<-SQL # bar # SQL # .strip_indent # # <<-SQL # bar # SQL # .strip_indent # .trim # # # good # <<~SQL # bar # SQL # # <<~SQL.trim # bar # SQL # # source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#31 class RuboCop::Cop::Lint::HeredocMethodCallPosition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#37
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#37
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#97
def all_on_same_line?(nodes); end

# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#50
def autocorrect(corrector, node, heredoc); end

# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#77
def call_after_heredoc_range(heredoc); end

# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#107
def call_end_pos(node); end

# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#116
def call_line_range(node); end

# Returns nil if no range can be safely repositioned.
#
# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#122
def call_range_to_safely_reposition(node, heredoc); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#86
def calls_on_multiple_lines?(node, _heredoc); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#82
def correctly_positioned?(node, heredoc); end

# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#111
def heredoc_begin_line_range(heredoc); end

# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#103
def heredoc_end_pos(heredoc); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#73
def heredoc_node?(node); end

# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#59
def heredoc_node_descendent_receiver(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#67
def send_node?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#146
def trailing_comma?(call_source, call_line_source); end

end

# source://rubocop//lib/rubocop/cop/lint/heredoc_method_call_position.rb#35 RuboCop::Cop::Lint::HeredocMethodCallPosition::MSG = T.let(T.unsafe(nil), String)

# Prefer ‘equal?` over `==` when comparing `object_id`. # # `Object#equal?` is provided to compare objects for identity, and in contrast # `Object#==` is provided for the purpose of doing value comparison. # # @example # # bad # foo.object_id == bar.object_id # # # good # foo.equal?(bar) # # source://rubocop//lib/rubocop/cop/lint/identity_comparison.rb#18 class RuboCop::Cop::Lint::IdentityComparison < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/identity_comparison.rb#24
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/identity_comparison.rb#40
def compare_between_object_id_by_double_equal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/identity_comparison.rb#44
def object_id_method?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/identity_comparison.rb#21 RuboCop::Cop::Lint::IdentityComparison::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/identity_comparison.rb#22 RuboCop::Cop::Lint::IdentityComparison::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for implicit string concatenation of string literals # which are on the same line. # # @example # # # bad # # array = [‘Item 1’ ‘Item 2’] # @example # # # good # # array = [‘Item 1Item 2’] # array = [‘Item 1’ + ‘Item 2’] # array = [ # ‘Item 1’ \ # ‘Item 2’ # ] # # source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#25 class RuboCop::Cop::Lint::ImplicitStringConcatenation < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#33
def on_dstr(node); end

private

# source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#83
def display_str(node); end

# source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#50
def each_bad_cons(node); end

# source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#65
def ending_delimiter(str); end

# source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#91
def str_content(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#75
def string_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#79
def string_literals?(node1, node2); end

end

# source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#28 RuboCop::Cop::Lint::ImplicitStringConcatenation::FOR_ARRAY = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#30 RuboCop::Cop::Lint::ImplicitStringConcatenation::FOR_METHOD = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/implicit_string_concatenation.rb#26 RuboCop::Cop::Lint::ImplicitStringConcatenation::MSG = T.let(T.unsafe(nil), String)

# Checks for ‘IO.select` that is incompatible with Fiber Scheduler since Ruby 3.0. # # When an array of IO objects waiting for an exception (the third argument of `IO.select`) # is used as an argument, there is no alternative API, so offenses are not registered. # # NOTE: When the method is successful the return value of `IO.select` is `[[IO]]`, # and the return value of `io.wait_readable` and `io.wait_writable` are `self`. # They are not autocorrected when assigning a return value because these types are different. # It’s up to user how to handle the return value. # # @example # # # bad # IO.select(, [], [], timeout) # # # good # io.wait_readable(timeout) # # # bad # IO.select([], [io], [], timeout) # # # good # io.wait_writable(timeout) # # source://rubocop//lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb#34 class RuboCop::Cop::Lint::IncompatibleIoSelectWithFiberScheduler < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb#41
def io_select(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb#46
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb#69
def preferred_method(read, write, timeout); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb#63
def scheduler_compatible?(io1, io2); end

end

# source://rubocop//lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb#37 RuboCop::Cop::Lint::IncompatibleIoSelectWithFiberScheduler::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb#38 RuboCop::Cop::Lint::IncompatibleIoSelectWithFiberScheduler::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for ‘private` or `protected` access modifiers which are # applied to a singleton method. These access modifiers do not make # singleton methods private/protected. `private_class_method` can be # used for that. # # @example # # # bad # # class C # private # # def self.method # puts ’hi’ # end # end # @example # # # good # # class C # def self.method # puts ‘hi’ # end # # private_class_method :method # end # @example # # # good # # class C # class << self # private # # def method # puts ‘hi’ # end # end # end # # source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#48 class RuboCop::Cop::Lint::IneffectiveAccessModifier < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#59
def on_class(node); end

# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#59
def on_module(node); end

# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#55
def private_class_methods(param0); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#109
def access_modifier?(node); end

# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#66
def check_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#113
def correct_visibility?(node, modifier, ignored_methods); end

# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#78
def format_message(modifier); end

# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#91
def ineffective_modifier(node, ignored_methods = T.unsafe(nil), modifier = T.unsafe(nil), &block); end

# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#74
def private_class_method_names(node); end

end

# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#51 RuboCop::Cop::Lint::IneffectiveAccessModifier::ALTERNATIVE_PRIVATE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#52 RuboCop::Cop::Lint::IneffectiveAccessModifier::ALTERNATIVE_PROTECTED = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/ineffective_access_modifier.rb#49 RuboCop::Cop::Lint::IneffectiveAccessModifier::MSG = T.let(T.unsafe(nil), String)

# Looks for error classes inheriting from ‘Exception`. # It is configurable to suggest using either `StandardError` (default) or # `RuntimeError` instead. # # @example EnforcedStyle: standard_error (default) # # bad # # class C < Exception; end # # C = Class.new(Exception) # # # good # # class C < StandardError; end # # C = Class.new(StandardError) # @example EnforcedStyle: runtime_error # # bad # # class C < Exception; end # # C = Class.new(Exception) # # # good # # class C < RuntimeError; end # # C = Class.new(RuntimeError) # # source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#40 class RuboCop::Cop::Lint::InheritException < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#53
def class_new_call?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#59
def on_class(node); end

# source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#70
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#87
def exception_class?(class_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#91
def inherit_exception_class_with_omitted_namespace?(class_node); end

# source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#83
def message(node); end

# source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#99
def preferred_base_class; end

end

# source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#44 RuboCop::Cop::Lint::InheritException::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#45 RuboCop::Cop::Lint::InheritException::PREFERRED_BASE_CLASS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/lint/inherit_exception.rb#50 RuboCop::Cop::Lint::InheritException::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for interpolation in a single quoted string. # # @example # # # bad # # foo = ‘something with #{interpolation} inside’ # @example # # # good # # foo = “something with #{interpolation} inside” # # source://rubocop//lib/rubocop/cop/lint/interpolation_check.rb#25 class RuboCop::Cop::Lint::InterpolationCheck < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/interpolation_check.rb#31
def on_str(node); end

private

# source://rubocop//lib/rubocop/cop/lint/interpolation_check.rb#42
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/interpolation_check.rb#53
def heredoc?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/interpolation_check.rb#28 RuboCop::Cop::Lint::InterpolationCheck::MSG = T.let(T.unsafe(nil), String)

# Emulates the following Ruby warning in Ruby 3.3. # # [source,ruby] # —- # $ ruby -e ‘0.times { it }’ # -e:1: warning: ‘it` calls without arguments will refer to the first block param in Ruby 3.4; # use it() or self.it # —- # # `it` calls without arguments will refer to the first block param in Ruby 3.4. # So use `it()` or `self.it` to ensure compatibility. # # @example # # # bad # do_something { it } # # # good # do_something { it() } # do_something { self.it } # # source://rubocop//lib/rubocop/cop/lint/it_without_arguments_in_block.rb#27 class RuboCop::Cop::Lint::ItWithoutArgumentsInBlock < ::RuboCop::Cop::Base

include ::RuboCop::AST::NodePattern::Macros

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/it_without_arguments_in_block.rb#48
def deprecated_it_method?(node); end

# source://rubocop//lib/rubocop/cop/lint/it_without_arguments_in_block.rb#33
def on_block(node); end

end

# source://rubocop//lib/rubocop/cop/lint/it_without_arguments_in_block.rb#30 RuboCop::Cop::Lint::ItWithoutArgumentsInBlock::MSG = T.let(T.unsafe(nil), String)

# Checks uses of lambda without a literal block. # It emulates the following warning in Ruby 3.0: # # $ ruby -vwe ‘lambda(&proc {})’ # ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19] # -e:1: warning: lambda without a literal block is deprecated; use the proc without # lambda instead # # This way, proc object is never converted to lambda. # Autocorrection replaces with compatible proc argument. # # @example # # # bad # lambda(&proc { do_something }) # lambda(&Proc.new { do_something }) # # # good # proc { do_something } # Proc.new { do_something } # lambda { do_something } # If you use lambda. # # source://rubocop//lib/rubocop/cop/lint/lambda_without_literal_block.rb#28 class RuboCop::Cop::Lint::LambdaWithoutLiteralBlock < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/lambda_without_literal_block.rb#35
def lambda_with_symbol_proc?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/lambda_without_literal_block.rb#39
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/lint/lambda_without_literal_block.rb#31 RuboCop::Cop::Lint::LambdaWithoutLiteralBlock::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/lambda_without_literal_block.rb#32 RuboCop::Cop::Lint::LambdaWithoutLiteralBlock::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for literals used as the conditions or as # operands in and/or expressions serving as the conditions of # if/while/until/case-when/case-in. # # NOTE: Literals in ‘case-in` condition where the match variable is used in # `in` are accepted as a pattern matching. # # @example # # # bad # if 20 # do_something # end # # # bad # if some_var && true # do_something # end # # # good # if some_var && some_condition # do_something # end # # # good # # When using a boolean value for an infinite loop. # while true # break if condition # end # # source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#35 class RuboCop::Cop::Lint::LiteralAsCondition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#93
def message(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#58
def on_case(case_node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#73
def on_case_match(case_match_node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#40
def on_if(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#87
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#51
def on_until(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#51
def on_until_post(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#44
def on_while(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#44
def on_while_post(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#108
def basic_literal?(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#138
def check_case(case_node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#99
def check_for_literal(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#120
def check_node(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#147
def condition(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#130
def handle_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#116
def primitive_array?(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#155
def when_conditions_range(when_node); end

end

# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#38 RuboCop::Cop::Lint::LiteralAsCondition::MSG = T.let(T.unsafe(nil), String)

# Checks for literal assignments in the conditions of ‘if`, `while`, and `until`. # It emulates the following Ruby warning: # # [source,console] # —- # $ ruby -we ’if x = true; end’ # -e:1: warning: found ‘= literal’ in conditional, should be == # —- # # As a lint cop, it cannot be determined if ‘==` is appropriate as intended, # therefore this cop does not provide autocorrection. # # @example # # # bad # if x = 42 # do_something # end # # # good # if x == 42 # do_something # end # # # good # if x = y # do_something # end # # source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#35 class RuboCop::Cop::Lint::LiteralAssignmentInCondition < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#39
def on_if(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#39
def on_until(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#39
def on_while(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#62
def all_literals?(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#79
def offense_range(asgn_node, rhs); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#75
def parallel_assignment_with_splat_operator?(node); end

# @yield [node]
#
# source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#56
def traverse_node(node, &block); end

end

# source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#36 RuboCop::Cop::Lint::LiteralAssignmentInCondition::MSG = T.let(T.unsafe(nil), String)

# Checks for interpolated literals. # # @example # # # bad # # “result is #{10}” # @example # # # good # # “result is 10” # # source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#19 class RuboCop::Cop::Lint::LiteralInInterpolation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Interpolation
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::PercentLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#28
def on_interpolation(begin_node); end

private

# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#62
def autocorrected_value(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#108
def autocorrected_value_for_array(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#114
def autocorrected_value_for_hash(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#84
def autocorrected_value_for_string(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#92
def autocorrected_value_for_symbol(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#125
def autocorrected_value_in_hash(node); end

# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#99
def autocorrected_value_in_hash_for_symbol(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#155
def ends_heredoc_line?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#163
def in_array_percent_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#48
def offending?(node); end

# Does node print its own source when converted to a string?
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#146
def prints_as_self?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#151
def space_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#56
def special_keyword?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#26 RuboCop::Cop::Lint::LiteralInInterpolation::COMPOSITE = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/literal_in_interpolation.rb#25 RuboCop::Cop::Lint::LiteralInInterpolation::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of ‘begin…end while/until something`. # # @example # # # bad # # # using while # begin # do_something # end while some_condition # @example # # # bad # # # using until # begin # do_something # end until some_condition # @example # # # good # # # while replacement # loop do # do_something # break unless some_condition # end # @example # # # good # # # until replacement # loop do # do_something # break if some_condition # end # # source://rubocop//lib/rubocop/cop/lint/loop.rb#50 class RuboCop::Cop::Lint::Loop < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/loop.rb#59
def on_until_post(node); end

# source://rubocop//lib/rubocop/cop/lint/loop.rb#55
def on_while_post(node); end

private

# source://rubocop//lib/rubocop/cop/lint/loop.rb#79
def build_break_line(node); end

# source://rubocop//lib/rubocop/cop/lint/loop.rb#75
def keyword_and_condition_range(node); end

# source://rubocop//lib/rubocop/cop/lint/loop.rb#65
def register_offense(node); end

end

# source://rubocop//lib/rubocop/cop/lint/loop.rb#53 RuboCop::Cop::Lint::Loop::MSG = T.let(T.unsafe(nil), String)

# cop disables on wide ranges of code, that latter contributors to # a file wouldn’t be aware of. # # @example # # Lint/MissingCopEnableDirective: # # MaximumRangeSize: .inf # # # good # # rubocop:disable Layout/SpaceAroundOperators # x= 0 # # rubocop:enable Layout/SpaceAroundOperators # # y = 1 # # EOF # # # bad # # rubocop:disable Layout/SpaceAroundOperators # x= 0 # # EOF # @example # # Lint/MissingCopEnableDirective: # # MaximumRangeSize: 2 # # # good # # rubocop:disable Layout/SpaceAroundOperators # x= 0 # # With the previous, there are 2 lines on which cop is disabled. # # rubocop:enable Layout/SpaceAroundOperators # # # bad # # rubocop:disable Layout/SpaceAroundOperators # x= 0 # x += 1 # # Including this, that’s 3 lines on which the cop is disabled. # # rubocop:enable Layout/SpaceAroundOperators # # source://rubocop//lib/rubocop/cop/lint/missing_cop_enable_directive.rb#45 class RuboCop::Cop::Lint::MissingCopEnableDirective < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/lint/missing_cop_enable_directive.rb#51
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/missing_cop_enable_directive.rb#70
def acceptable_range?(cop, line_range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/missing_cop_enable_directive.rb#104
def department_enabled?(cop, comment); end

# source://rubocop//lib/rubocop/cop/lint/missing_cop_enable_directive.rb#64
def each_missing_enable; end

# source://rubocop//lib/rubocop/cop/lint/missing_cop_enable_directive.rb#87
def max_range; end

# source://rubocop//lib/rubocop/cop/lint/missing_cop_enable_directive.rb#91
def message(cop, comment, type = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/lint/missing_cop_enable_directive.rb#48 RuboCop::Cop::Lint::MissingCopEnableDirective::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/missing_cop_enable_directive.rb#49 RuboCop::Cop::Lint::MissingCopEnableDirective::MSG_BOUND = T.let(T.unsafe(nil), String)

# Checks for the presence of constructors and lifecycle callbacks # without calls to ‘super`. # # This cop does not consider `method_missing` (and `respond_to_missing?`) # because in some cases it makes sense to overtake what is considered a # missing method. In other cases, the theoretical ideal handling could be # challenging or verbose for no actual gain. # # Autocorrection is not supported because the position of `super` cannot be # determined automatically. # # `Object` and `BasicObject` are allowed by this cop because of their # stateless nature. However, sometimes you might want to allow other parent # classes from this cop, for example in the case of an abstract class that is # not meant to be called with `super`. In those cases, you can use the # `AllowedParentClasses` option to specify which classes should be allowed # *in addition to* `Object` and `BasicObject`. # # @example # # bad # class Employee < Person # def initialize(name, salary) # @salary = salary # end # end # # # good # class Employee < Person # def initialize(name, salary) # super(name) # @salary = salary # end # end # # # bad # Employee = Class.new(Person) do # def initialize(name, salary) # @salary = salary # end # end # # # good # Employee = Class.new(Person) do # def initialize(name, salary) # super(name) # @salary = salary # end # end # # # bad # class Parent # def self.inherited(base) # do_something # end # end # # # good # class Parent # def self.inherited(base) # super # do_something # end # end # # # good # class ClassWithNoParent # def initialize # do_something # end # end # @example AllowedParentClasses: [MyAbstractClass] # # good # class MyConcreteClass < MyAbstractClass # def initialize # do_something # end # end # # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#85 class RuboCop::Cop::Lint::MissingSuper < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#99
def class_new_block(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#105
def on_def(node); end

# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#115
def on_defs(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#149
def allowed_class?(node); end

# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#153
def allowed_classes; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#127
def callback_method_def?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#133
def contains_super?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#137
def inside_class_with_stateful_parent?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#123
def offender?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#96 RuboCop::Cop::Lint::MissingSuper::CALLBACKS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#87 RuboCop::Cop::Lint::MissingSuper::CALLBACK_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#91 RuboCop::Cop::Lint::MissingSuper::CLASS_LIFECYCLE_CALLBACKS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#86 RuboCop::Cop::Lint::MissingSuper::CONSTRUCTOR_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#92 RuboCop::Cop::Lint::MissingSuper::METHOD_LIFECYCLE_CALLBACKS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#89 RuboCop::Cop::Lint::MissingSuper::STATELESS_CLASSES = T.let(T.unsafe(nil), Array)

# Checks for mixed-case character ranges since they include likely unintended characters. # # Offenses are registered for regexp character classes like ‘/[A-z]/` # as well as range objects like `(’A’..‘z’)‘. # # NOTE: Range objects cannot be autocorrected. # # @example # # # bad # r = /[A-z]/ # # # good # r = /[A-Za-z]/ # # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#28 class RuboCop::Cop::Lint::MixedCaseRange < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#56
def each_unsafe_regexp_range(node); end

# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#37
def on_erange(node); end

# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#37
def on_irange(node); end

# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#48
def on_regexp(node); end

private

# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#72
def build_source_range(range_start, range_end); end

# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#76
def range_for(char); end

# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#82
def range_pairs(expr); end

# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#102
def rewrite_regexp_range(source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#92
def skip_expression?(expr); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#96
def skip_range?(range_start, range_end); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#86
def unsafe_range?(range_start, range_end); end

end

# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#32 RuboCop::Cop::Lint::MixedCaseRange::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#35 RuboCop::Cop::Lint::MixedCaseRange::RANGES = T.let(T.unsafe(nil), Array)

# Do not mix named captures and numbered captures in a Regexp literal # because numbered capture is ignored if they’re mixed. # Replace numbered captures with non-capturing groupings or # named captures. # # @example # # bad # /(?<foo>FOO)(BAR)/ # # # good # /(?<foo>FOO)(?<bar>BAR)/ # # # good # /(?<foo>FOO)(?:BAR)/ # # # good # /(FOO)(BAR)/ # # source://rubocop//lib/rubocop/cop/lint/mixed_regexp_capture_types.rb#24 class RuboCop::Cop::Lint::MixedRegexpCaptureTypes < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/mixed_regexp_capture_types.rb#27
def on_regexp(node); end

end

# source://rubocop//lib/rubocop/cop/lint/mixed_regexp_capture_types.rb#25 RuboCop::Cop::Lint::MixedRegexpCaptureTypes::MSG = T.let(T.unsafe(nil), String)

# In math and Python, we can use ‘x < y < z` style comparison to compare # multiple value. However, we can’t use the comparison in Ruby. However, # the comparison is not syntax error. This cop checks the bad usage of # comparison operators. # # @example # # # bad # x < y < z # 10 <= x <= 20 # # # good # x < y && y < z # 10 <= x && x <= 20 # # source://rubocop//lib/rubocop/cop/lint/multiple_comparison.rb#20 class RuboCop::Cop::Lint::MultipleComparison < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/multiple_comparison.rb#29
def multiple_compare?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/multiple_comparison.rb#33
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/lint/multiple_comparison.rb#24 RuboCop::Cop::Lint::MultipleComparison::COMPARISON_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/multiple_comparison.rb#23 RuboCop::Cop::Lint::MultipleComparison::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/multiple_comparison.rb#26 RuboCop::Cop::Lint::MultipleComparison::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/multiple_comparison.rb#25 RuboCop::Cop::Lint::MultipleComparison::SET_OPERATION_OPERATORS = T.let(T.unsafe(nil), Array)

# Checks for nested method definitions. # # @example # # # bad # # # ‘bar` definition actually produces methods in the same scope # # as the outer `foo` method. Furthermore, the `bar` method # # will be redefined every time `foo` is invoked. # def foo # def bar # end # end # @example # # # good # # def foo # bar = -> { puts ’hello’ } # bar.call # end # @example # # # good # # # ‘class_eval`, `instance_eval`, `module_eval`, `class_exec`, `instance_exec`, and # # `module_exec` blocks are allowed by default. # # def foo # self.class.class_eval do # def bar # end # end # end # # def foo # self.class.module_exec do # def bar # end # end # end # @example # # # good # # def foo # class << self # def bar # end # end # end # @example AllowedMethods: [] (default) # # bad # def do_something # has_many :articles do # def find_or_create_by_name(name) # end # end # end # @example AllowedMethods: [’has_many’] # # bad # def do_something # has_many :articles do # def find_or_create_by_name(name) # end # end # end # @example AllowedPatterns: [] (default) # # bad # def foo(obj) # obj.do_baz do # def bar # end # end # end # @example AllowedPatterns: [‘baz’] # # good # def foo(obj) # obj.do_baz do # def bar # end # end # end # # source://rubocop//lib/rubocop/cop/lint/nested_method_definition.rb#97 class RuboCop::Cop::Lint::NestedMethodDefinition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern

# source://rubocop//lib/rubocop/cop/lint/nested_method_definition.rb#133
def eval_call?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/nested_method_definition.rb#138
def exec_call?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/nested_method_definition.rb#103
def on_def(node); end

# source://rubocop//lib/rubocop/cop/lint/nested_method_definition.rb#103
def on_defs(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/nested_method_definition.rb#126
def allowed_method_name?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/nested_method_definition.rb#121
def scoping_method_call?(child); end

end

# source://rubocop//lib/rubocop/cop/lint/nested_method_definition.rb#101 RuboCop::Cop::Lint::NestedMethodDefinition::MSG = T.let(T.unsafe(nil), String)

# Checks for nested percent literals. # # @example # # # bad # # # The percent literal for nested_attributes is parsed as four tokens, # # yielding the array [:name, :content, :“%i[incorrectly”, :“nested]”]. # attributes = { # valid_attributes: %i[name content], # nested_attributes: %i[name content %i[incorrectly nested]] # } # # # good # # # Neither is incompatible with the bad case, but probably the intended code. # attributes = { # valid_attributes: %i[name content], # nested_attributes: [:name, :content, %i[incorrectly nested]] # } # # attributes = { # valid_attributes: %i[name content], # nested_attributes: [:name, :content, [:incorrectly, :nested]] # } # # source://rubocop//lib/rubocop/cop/lint/nested_percent_literal.rb#32 class RuboCop::Cop::Lint::NestedPercentLiteral < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::PercentLiteral

# source://rubocop//lib/rubocop/cop/lint/nested_percent_literal.rb#44
def on_array(node); end

# source://rubocop//lib/rubocop/cop/lint/nested_percent_literal.rb#48
def on_percent_literal(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/nested_percent_literal.rb#54
def contains_percent_literals?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/nested_percent_literal.rb#35 RuboCop::Cop::Lint::NestedPercentLiteral::MSG = T.let(T.unsafe(nil), String)

# The array of regular expressions representing percent literals that, # if found within a percent literal expression, will cause a # NestedPercentLiteral violation to be emitted. # # source://rubocop//lib/rubocop/cop/lint/nested_percent_literal.rb#41 RuboCop::Cop::Lint::NestedPercentLiteral::PERCENT_LITERAL_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/nested_percent_literal.rb#42 RuboCop::Cop::Lint::NestedPercentLiteral::REGEXES = T.let(T.unsafe(nil), Array)

# Don’t omit the accumulator when calling ‘next` in a `reduce` block. # # @example # # # bad # # result = (1..4).reduce(0) do |acc, i| # next if i.odd? # acc + i # end # @example # # # good # # result = (1..4).reduce(0) do |acc, i| # next acc if i.odd? # acc + i # end # # source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#25 class RuboCop::Cop::Lint::NextWithoutAccumulator < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#28
def on_block(node); end

# source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#42
def on_block_body_of_reduce(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#28
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#49
def parent_block_node(node); end

end

# source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#26 RuboCop::Cop::Lint::NextWithoutAccumulator::MSG = T.let(T.unsafe(nil), String)

# Checks for the presence of a ‘return` inside a `begin..end` block # in assignment contexts. # In this situation, the `return` will result in an exit from the current # method, possibly leading to unexpected behavior. # # @example # # # bad # # @some_variable ||= begin # return some_value if some_condition_is_met # # do_something # end # @example # # # good # # @some_variable ||= begin # if some_condition_is_met # some_value # else # do_something # end # end # # # good # # some_variable = if some_condition_is_met # return if another_condition_is_met # # some_value # else # do_something # end # # source://rubocop//lib/rubocop/cop/lint/no_return_in_begin_end_blocks.rb#43 class RuboCop::Cop::Lint::NoReturnInBeginEndBlocks < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/no_return_in_begin_end_blocks.rb#46
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/lint/no_return_in_begin_end_blocks.rb#46
def on_op_asgn(node); end

# source://rubocop//lib/rubocop/cop/lint/no_return_in_begin_end_blocks.rb#46
def on_or_asgn(node); end

end

# source://rubocop//lib/rubocop/cop/lint/no_return_in_begin_end_blocks.rb#44 RuboCop::Cop::Lint::NoReturnInBeginEndBlocks::MSG = T.let(T.unsafe(nil), String)

# Checks for non-atomic file operation. # And then replace it with a nearly equivalent and atomic method. # # These can cause problems that are difficult to reproduce, # especially in cases of frequent file operations in parallel, # such as test runs with parallel_rspec. # # For examples: creating a directory if there is none, has the following problems # # An exception occurs when the directory didn’t exist at the time of ‘exist?`, # but someone else created it before `mkdir` was executed. # # Subsequent processes are executed without the directory that should be there # when the directory existed at the time of `exist?`, # but someone else deleted it shortly afterwards. # # @example # # bad - race condition with another process may result in an error in `mkdir` # unless Dir.exist?(path) # FileUtils.mkdir(path) # end # # # good - atomic and idempotent creation # FileUtils.mkdir_p(path) # # # bad - race condition with another process may result in an error in `remove` # if File.exist?(path) # FileUtils.remove(path) # end # # # good - atomic and idempotent removal # FileUtils.rm_f(path) # # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#44 class RuboCop::Cop::Lint::NonAtomicFileOperation < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#76
def explicit_not_force?(param0); end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#71
def force?(param0); end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#80
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#66
def receiver_and_method_name(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#61
def send_exist_node(param0); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#97
def allowable_use_with_if?(if_node); end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#121
def autocorrect(corrector, node, range); end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#132
def autocorrect_replace_method(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#151
def force_method?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#159
def force_method_name?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#155
def force_option?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#91
def if_node_child?(node); end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#112
def message_change_force_method(node); end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#116
def message_remove_file_exist_check(node); end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#101
def register_offense(node, exist_node); end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#139
def replacement_method(node); end

end

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#50 RuboCop::Cop::Lint::NonAtomicFileOperation::MAKE_FORCE_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#51 RuboCop::Cop::Lint::NonAtomicFileOperation::MAKE_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#49 RuboCop::Cop::Lint::NonAtomicFileOperation::MSG_CHANGE_FORCE_METHOD = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#47 RuboCop::Cop::Lint::NonAtomicFileOperation::MSG_REMOVE_FILE_EXIST_CHECK = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#54 RuboCop::Cop::Lint::NonAtomicFileOperation::RECURSIVE_REMOVE_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#52 RuboCop::Cop::Lint::NonAtomicFileOperation::REMOVE_FORCE_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#53 RuboCop::Cop::Lint::NonAtomicFileOperation::REMOVE_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#55 RuboCop::Cop::Lint::NonAtomicFileOperation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# ‘Dir` and `Dir.glob(…)` do not make any guarantees about # the order in which files are returned. The final order is # determined by the operating system and file system. # This means that using them in cases where the order matters, # such as requiring files, can lead to intermittent failures # that are hard to debug. To ensure this doesn’t happen, # always sort the list. # # ‘Dir.glob` and `Dir[]` sort globbed results by default in Ruby 3.0. # So all bad cases are acceptable when Ruby 3.0 or higher are used. # # NOTE: This cop will be deprecated and removed when supporting only Ruby 3.0 and higher. # # @example # # # bad # Dir[“./lib/*/.rb”].each do |file| # require file # end # # # good # Dir[“./lib/*/.rb”].sort.each do |file| # require file # end # # # bad # Dir.glob(Rails.root.join(__dir__, ’test’, ‘*.rb’)) do |file| # require file # end # # # good # Dir.glob(Rails.root.join(__dir__, ‘test’, ‘*.rb’)).sort.each do |file| # require file # end # # # bad # Dir[‘./lib/*/.rb’].each(&method(:require)) # # # good # Dir[‘./lib/*/.rb’].sort.each(&method(:require)) # # # bad # Dir.glob(Rails.root.join(‘test’, ‘*.rb’), &method(:require)) # # # good # Dir.glob(Rails.root.join(‘test’, ‘*.rb’)).sort.each(&method(:require)) # # # good - Respect intent if ‘sort` keyword option is specified in Ruby 3.0 or higher. # Dir.glob(Rails.root.join(__dir__, ’test’, ‘*.rb’), sort: false).each(&method(:require)) # # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#60 class RuboCop::Cop::Lint::NonDeterministicRequireOrder < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#172
def loop_variable(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#155
def method_require?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#65
def on_block(node); end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#89
def on_block_pass(node); end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#77
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#145
def unsorted_dir_block?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#150
def unsorted_dir_each?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#166
def unsorted_dir_each_pass?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#160
def unsorted_dir_glob_pass?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#177
def var_is_required?(param0, param1); end

private

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#107
def correct_block(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#117
def correct_block_pass(corrector, node); end

# Returns range of last argument including comma and whitespace.
#
# @return [Parser::Source::Range]
#
# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#132
def last_arg_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#136
def unsorted_dir_loop?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#140
def unsorted_dir_pass?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#63 RuboCop::Cop::Lint::NonDeterministicRequireOrder::MSG = T.let(T.unsafe(nil), String)

# Checks for non-local exits from iterators without a return # value. It registers an offense under these conditions: # # * No value is returned, # * the block is preceded by a method chain, # * the block has arguments, # * the method which receives the block is not ‘define_method` # or `define_singleton_method`, # * the return is not contained in an inner scope, e.g. a lambda or a # method definition. # # @example # # class ItemApi # rescue_from ValidationError do |e| # non-iteration block with arg # return { message: ’validation error’ } unless e.errors # allowed # error_array = e.errors.map do |error| # block with method chain # return if error.suppress? # warned # return “#{error.param}: invalid” unless error.message # allowed # “#{error.param}: #{error.message}” # end # { message: ‘validation error’, errors: error_array } # end # # def update_items # transaction do # block without arguments # return unless update_necessary? # allowed # find_each do |item| # block without method chain # return if item.stock == 0 # false-negative… # item.update!(foobar: true) # end # end # end # end # # source://rubocop//lib/rubocop/cop/lint/non_local_exit_from_iterator.rb#41 class RuboCop::Cop::Lint::NonLocalExitFromIterator < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/non_local_exit_from_iterator.rb#77
def chained_send?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/non_local_exit_from_iterator.rb#80
def define_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/non_local_exit_from_iterator.rb#46
def on_return(return_node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/non_local_exit_from_iterator.rb#72
def return_value?(return_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/non_local_exit_from_iterator.rb#68
def scoped_node?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/non_local_exit_from_iterator.rb#42 RuboCop::Cop::Lint::NonLocalExitFromIterator::MSG = T.let(T.unsafe(nil), String)

# Warns the usage of unsafe number conversions. Unsafe # number conversion can cause unexpected error if auto type conversion # fails. Cop prefer parsing with number class instead. # # Conversion with ‘Integer`, `Float`, etc. will raise an `ArgumentError` # if given input that is not numeric (eg. an empty string), whereas # `to_i`, etc. will try to convert regardless of input (“”.to_i => 0“). # As such, this cop is disabled by default because it’s not necessarily # always correct to raise if a value is not numeric. # # NOTE: Some values cannot be converted properly using one of the ‘Kernel` # method (for instance, `Time` and `DateTime` values are allowed by this # cop by default). Similarly, Rails’ duration methods do not work well # with ‘Integer()` and can be allowed with `AllowedMethods`. By default, # there are no methods to allowed. # # @example # # # bad # # ’10’.to_i # ‘10.2’.to_f # ‘10’.to_c # ‘1/3’.to_r # [‘1’, ‘2’, ‘3’].map(&:to_i) # foo.try(:to_f) # bar.send(:to_c) # # # good # # Integer(‘10’, 10) # Float(‘10.2’) # Complex(‘10’) # Rational(‘1/3’) # [‘1’, ‘2’, ‘3’].map { |i| Integer(i, 10) } # foo.try { |i| Float(i) } # bar.send { |i| Complex(i) } # @example AllowedMethods: [] (default) # # # bad # 10.minutes.to_i # @example AllowedMethods: [minutes] # # # good # 10.minutes.to_i # @example AllowedPatterns: [] (default) # # # bad # 10.minutes.to_i # @example AllowedPatterns: [‘min*’] # # # good # 10.minutes.to_i # @example IgnoredClasses: [Time, DateTime] (default) # # # good # Time.now.to_datetime.to_i # # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#73 class RuboCop::Cop::Lint::NumberConversion < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#107
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#107
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#93
def to_method(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#98
def to_method_symbol(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#165
def allow_receiver?(receiver); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#177
def allowed_method_name?(name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#187
def conversion_method?(method_name); end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#151
def correct_method(node, receiver); end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#155
def correct_sym_method(to_method); end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#134
def handle_as_symbol(node); end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#115
def handle_conversion_method(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#195
def ignored_class?(name); end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#191
def ignored_classes; end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#160
def remove_parentheses(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#181
def top_receiver(node); end

end

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#89 RuboCop::Cop::Lint::NumberConversion::CONVERSION_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#79 RuboCop::Cop::Lint::NumberConversion::CONVERSION_METHOD_CLASS_MAPPING = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#90 RuboCop::Cop::Lint::NumberConversion::METHODS = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#85 RuboCop::Cop::Lint::NumberConversion::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of numbered parameter assignment. # It emulates the following warning in Ruby 2.7: # # $ ruby -ve ‘_1 = :value’ # ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin19] # -e:1: warning: ‘_1’ is reserved for numbered parameter; consider another name # # Assigning to a numbered parameter (from ‘_1` to `_9`) causes an error in Ruby 3.0. # # $ ruby -ve ’_1 = :value’ # ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19] # -e:1: _1 is reserved for numbered parameter # # NOTE: The parametered parameters are from ‘_1` to `_9`. This cop checks `_0`, and over `_10` # as well to prevent confusion. # # @example # # # bad # _1 = :value # # # good # non_numbered_parameter_name = :value # # source://rubocop//lib/rubocop/cop/lint/numbered_parameter_assignment.rb#30 class RuboCop::Cop::Lint::NumberedParameterAssignment < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/numbered_parameter_assignment.rb#35
def on_lvasgn(node); end

end

# source://rubocop//lib/rubocop/cop/lint/numbered_parameter_assignment.rb#32 RuboCop::Cop::Lint::NumberedParameterAssignment::LVAR_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/numbered_parameter_assignment.rb#33 RuboCop::Cop::Lint::NumberedParameterAssignment::NUMBERED_PARAMETER_RANGE = T.let(T.unsafe(nil), Range)

# source://rubocop//lib/rubocop/cop/lint/numbered_parameter_assignment.rb#31 RuboCop::Cop::Lint::NumberedParameterAssignment::NUM_PARAM_MSG = T.let(T.unsafe(nil), String)

# Checks for unintended or-assignment to a constant. # # Constants should always be assigned in the same location. And its value # should always be the same. If constants are assigned in multiple # locations, the result may vary depending on the order of ‘require`. # # @example # # # bad # CONST ||= 1 # # # good # CONST = 1 # # source://rubocop//lib/rubocop/cop/lint/or_assignment_to_constant.rb#24 class RuboCop::Cop::Lint::OrAssignmentToConstant < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/or_assignment_to_constant.rb#29
def on_or_asgn(node); end

end

# source://rubocop//lib/rubocop/cop/lint/or_assignment_to_constant.rb#27 RuboCop::Cop::Lint::OrAssignmentToConstant::MSG = T.let(T.unsafe(nil), String)

# Checks the proper ordering of magic comments and whether # a magic comment is not placed before a shebang. # # @example # # bad # # # frozen_string_literal: true # # encoding: ascii # p [”.frozen?, ”.encoding] #=> [true,

include ::RuboCop::Cop::FrozenStringLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/ordered_magic_comments.rb#38
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/lint/ordered_magic_comments.rb#55
def autocorrect(corrector, encoding_line, frozen_string_literal_line); end

# source://rubocop//lib/rubocop/cop/lint/ordered_magic_comments.rb#63
def magic_comment_lines; end

end

# source://rubocop//lib/rubocop/cop/lint/ordered_magic_comments.rb#36 RuboCop::Cop::Lint::OrderedMagicComments::MSG = T.let(T.unsafe(nil), String)

# Looks for references of Regexp captures that are out of range # and thus always returns nil. # # @example # # /(foo)bar/ =~ ‘foobar’ # # # bad - always returns nil # # puts $2 # => nil # # # good # # puts $1 # => foo # # source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#38 class RuboCop::Cop::Lint::OutOfRangeRegexpRef < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#55
def after_send(node); end

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#71
def on_in_pattern(node); end

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#51
def on_match_with_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#47
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#77
def on_nth_ref(node); end

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#65
def on_when(node); end

private

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#102
def check_regexp(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#122
def nth_ref_receiver?(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#113
def regexp_first_argument?(send_node); end

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#93
def regexp_patterns(in_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#118
def regexp_receiver?(send_node); end

end

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#39 RuboCop::Cop::Lint::OutOfRangeRegexpRef::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#42 RuboCop::Cop::Lint::OutOfRangeRegexpRef::REGEXP_ARGUMENT_METHODS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#44 RuboCop::Cop::Lint::OutOfRangeRegexpRef::REGEXP_CAPTURE_METHODS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#41 RuboCop::Cop::Lint::OutOfRangeRegexpRef::REGEXP_RECEIVER_METHODS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/lint/out_of_range_regexp_ref.rb#45 RuboCop::Cop::Lint::OutOfRangeRegexpRef::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set)

# Checks for space between the name of a called method and a left # parenthesis. # # @example # # # bad # do_something (foo) # # # good # do_something(foo) # do_something (2 + 3) * 4 # do_something (foo * bar).baz # # source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#18 class RuboCop::Cop::Lint::ParenthesesAsGroupedExpression < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#24
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#24
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#61
def chained_calls?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#49
def first_argument_block_type?(first_arg); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#57
def first_argument_starts_with_left_parenthesis?(node); end

# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#86
def space_range(expr, space_length); end

# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#70
def spaces_before_left_parenthesis(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#66
def ternary_expression?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#39
def valid_context?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#53
def valid_first_argument?(first_arg); end

end

# source://rubocop//lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb#22 RuboCop::Cop::Lint::ParenthesesAsGroupedExpression::MSG = T.let(T.unsafe(nil), String)

# Checks for quotes and commas in %w, e.g. ‘%w(’foo’, “bar”)‘ # # It is more likely that the additional characters are unintended (for # example, mistranslating an array of literals to percent string notation) # rather than meant to be part of the resulting strings. # # @example # # # bad # # %w(’foo’, “bar”) # @example # # # good # # %w(foo bar) # # source://rubocop//lib/rubocop/cop/lint/percent_string_array.rb#33 class RuboCop::Cop::Lint::PercentStringArray < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::PercentLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/percent_string_array.rb#44
def on_array(node); end

# source://rubocop//lib/rubocop/cop/lint/percent_string_array.rb#48
def on_percent_literal(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/percent_string_array.rb#65
def contains_quotes_or_commas?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/percent_string_array.rb#38 RuboCop::Cop::Lint::PercentStringArray::LEADING_QUOTE = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/lint/percent_string_array.rb#41 RuboCop::Cop::Lint::PercentStringArray::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/percent_string_array.rb#37 RuboCop::Cop::Lint::PercentStringArray::QUOTES_AND_COMMAS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/percent_string_array.rb#39 RuboCop::Cop::Lint::PercentStringArray::TRAILING_QUOTE = T.let(T.unsafe(nil), Regexp)

# Checks for colons and commas in %i, e.g. ‘%i(:foo, :bar)` # # It is more likely that the additional characters are unintended (for # example, mistranslating an array of literals to percent string notation) # rather than meant to be part of the resulting symbols. # # @example # # # bad # # %i(:foo, :bar) # @example # # # good # # %i(foo bar) # # source://rubocop//lib/rubocop/cop/lint/percent_symbol_array.rb#23 class RuboCop::Cop::Lint::PercentSymbolArray < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::PercentLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/percent_symbol_array.rb#30
def on_array(node); end

# source://rubocop//lib/rubocop/cop/lint/percent_symbol_array.rb#34
def on_percent_literal(node); end

private

# source://rubocop//lib/rubocop/cop/lint/percent_symbol_array.rb#42
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/percent_symbol_array.rb#52
def contains_colons_or_commas?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/percent_symbol_array.rb#62
def non_alphanumeric_literal?(literal); end

end

# source://rubocop//lib/rubocop/cop/lint/percent_symbol_array.rb#27 RuboCop::Cop::Lint::PercentSymbolArray::MSG = T.let(T.unsafe(nil), String)

# Checks for ‘raise` or `fail` statements which are # raising `Exception` class. # # You can specify a module name that will be an implicit namespace # using `AllowedImplicitNamespaces` option. The cop cause a false positive # for namespaced `Exception` when a namespace is omitted. This option can # prevent the false positive by specifying a namespace to be omitted for # `Exception`. Alternatively, make `Exception` a fully qualified class # name with an explicit namespace. # # @example # # bad # raise Exception, ’Error message here’ # # # good # raise StandardError, ‘Error message here’ # @example AllowedImplicitNamespaces: [‘Gem’] # # good # module Gem # def self.foo # raise Exception # This exception means ‘Gem::Exception`. # end # end # # source://rubocop//lib/rubocop/cop/lint/raise_exception.rb#34 class RuboCop::Cop::Lint::RaiseException < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/raise_exception.rb#41
def exception?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/raise_exception.rb#46
def exception_new_with_message?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/raise_exception.rb#51
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/raise_exception.rb#85
def allow_implicit_namespaces; end

# source://rubocop//lib/rubocop/cop/lint/raise_exception.rb#57
def check(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/raise_exception.rb#73
def implicit_namespace?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/raise_exception.rb#37 RuboCop::Cop::Lint::RaiseException::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/raise_exception.rb#38 RuboCop::Cop::Lint::RaiseException::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for ‘rand(1)` calls. # Such calls always return `0`. # # @example # # # bad # # rand 1 # Kernel.rand(-1) # rand 1.0 # rand(-1.0) # @example # # # good # # 0 # just use 0 instead # # source://rubocop//lib/rubocop/cop/lint/rand_one.rb#23 class RuboCop::Cop::Lint::RandOne < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/rand_one.rb#32
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/rand_one.rb#28
def rand_one?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/lint/rand_one.rb#40
def message(node); end

end

# source://rubocop//lib/rubocop/cop/lint/rand_one.rb#24 RuboCop::Cop::Lint::RandOne::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/rand_one.rb#25 RuboCop::Cop::Lint::RandOne::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# removed without causing any offenses to be reported. It’s implemented # as a cop in that it inherits from the Cop base class and calls # add_offense. The unusual part of its implementation is that it doesn’t # have any on_* methods or an investigate method. This means that it # doesn’t take part in the investigation phase when the other cops do # their work. Instead, it waits until it’s called in a later stage of the # execution. The reason it can’t be implemented as a normal cop is that # it depends on the results of all other cops to do its work. # # @example # # bad # # rubocop:disable Layout/LineLength # x += 1 # # rubocop:enable Layout/LineLength # # # good # x += 1 # # source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#28 class RuboCop::Cop::Lint::RedundantCopDisableDirective < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# @return [RedundantCopDisableDirective] a new instance of RedundantCopDisableDirective
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#37
def initialize(config = T.unsafe(nil), options = T.unsafe(nil), offenses = T.unsafe(nil)); end

# Returns the value of attribute offenses_to_check.
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#35
def offenses_to_check; end

# Sets the attribute offenses_to_check
#
# @param value the value to set the attribute offenses_to_check to.
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#35
def offenses_to_check=(_arg0); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#42
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#323
def add_department_marker(department); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#229
def add_offense_for_entire_comment(comment, cops); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#244
def add_offense_for_some_cops(comment, cops); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#219
def add_offenses(redundant_cops); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#306
def all_cop_names; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#190
def all_disabled?(comment); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#69
def comment_range_with_surrounding_space(directive_comment_range, line_comment_range); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#57
def cop_disabled_line_ranges; end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#264
def cop_range(comment, cop); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#210
def department_disabled?(cop, comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#315
def department_marker?(department); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#293
def describe(cop); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#215
def directive_count(comment); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#92
def directive_range_in_list(range, ranges); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#61
def disabled_ranges; end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#132
def each_already_disabled(cop, line_ranges); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#113
def each_line_range(cop, line_ranges); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#106
def each_redundant_disable(&block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#310
def ends_its_line?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#202
def expected_final_disable?(cop, line_range); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#166
def find_redundant_all(range, next_range); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#161
def find_redundant_cop(cop, range); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#176
def find_redundant_department(cop, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#182
def followed_ranges?(range, next_range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#194
def ignore_offense?(line_range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#258
def leave_free_comment?(comment, range); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#271
def matching_range(haystack, needle); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#302
def message(cop_names); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#65
def previous_line_blank?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#186
def range_with_offense?(range, offenses = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#319
def remove_department_marker(department); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#279
def trailing_range?(ranges, range); end

end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#32 RuboCop::Cop::Lint::RedundantCopDisableDirective::COP_NAME = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#33 RuboCop::Cop::Lint::RedundantCopDisableDirective::DEPARTMENT_MARKER = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_disable_directive.rb#287 RuboCop::Cop::Lint::RedundantCopDisableDirective::SIMILAR_COP_NAMES_CACHE = T.let(T.unsafe(nil), Hash)

# removed. # # that cop checks whether any cop was actually enabled. # # @example # # bad # foo = 1 # # rubocop:enable Layout/LineLength # # # good # foo = 1 # @example # # bad # # rubocop:disable Style/StringLiterals # foo = “1” # # rubocop:enable Style/StringLiterals # baz # # rubocop:enable all # # # good # # rubocop:disable Style/StringLiterals # foo = “1” # # rubocop:enable all # baz # # source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#37 class RuboCop::Cop::Lint::RedundantCopEnableDirective < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SurroundingSpace
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#44
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#120
def all_or_name(name); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#76
def comment_start(comment); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#80
def cop_name_indention(comment, name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#124
def department?(directive, name); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#71
def range_of_offense(comment, name); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#95
def range_to_remove(begin_pos, end_pos, comment); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#84
def range_with_comma(comment, name); end

# If the list of cops is comma-separated, but without a empty space after the comma,
# we should **not** remove the prepending empty space, thus begin_pos += 1
#
# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#114
def range_with_comma_after(comment, start, begin_pos, end_pos); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#108
def range_with_comma_before(start, begin_pos, end_pos); end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#53
def register_offense(comment, cop_names); end

end

# source://rubocop//lib/rubocop/cop/lint/redundant_cop_enable_directive.rb#42 RuboCop::Cop::Lint::RedundantCopEnableDirective::MSG = T.let(T.unsafe(nil), String)

# Sort globbed results by default in Ruby 3.0. # This cop checks for redundant ‘sort` method to `Dir.glob` and `Dir[]`. # # @example # # # bad # Dir.glob(’./lib/*/.rb’).sort.each do |file| # end # # Dir[‘./lib/*/.rb’].sort.each do |file| # end # # # good # Dir.glob(‘./lib/*/.rb’).each do |file| # end # # Dir[‘./lib/*/.rb’].each do |file| # end # # source://rubocop//lib/rubocop/cop/lint/redundant_dir_glob_sort.rb#30 class RuboCop::Cop::Lint::RedundantDirGlobSort < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/lint/redundant_dir_glob_sort.rb#40
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_dir_glob_sort.rb#56
def multiple_argument?(glob_method); end

end

# source://rubocop//lib/rubocop/cop/lint/redundant_dir_glob_sort.rb#38 RuboCop::Cop::Lint::RedundantDirGlobSort::GLOB_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/redundant_dir_glob_sort.rb#36 RuboCop::Cop::Lint::RedundantDirGlobSort::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_dir_glob_sort.rb#37 RuboCop::Cop::Lint::RedundantDirGlobSort::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for redundant quantifiers inside Regexp literals. # # It is always allowed when interpolation is used in a regexp literal, # because it’s unknown what kind of string will be expanded as a result: # # [source,ruby] # —- # /(?:a*#{interpolation})?/x # —- # # @example # # bad # /(?:x+)+/ # # # good # /(?:x)+/ # # # good # /(?:x+)/ # # # bad # /(?:x+)?/ # # # good # /(?:x)*/ # # # good # /(?:x*)/ # # source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#34 class RuboCop::Cop::Lint::RedundantRegexpQuantifiers < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#42
def on_regexp(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#83
def character_set?(expr); end

# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#61
def each_redundantly_quantified_pair(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#87
def mergeable_quantifier(expr); end

# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#103
def merged_quantifier(exp1, exp2); end

# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#119
def message(group, child, replacement); end

# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#115
def quantifier_range(group, child); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#75
def redundant_group?(expr); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#79
def redundantly_quantifiable?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#38 RuboCop::Cop::Lint::RedundantRegexpQuantifiers::MSG_REDUNDANT_QUANTIFIER = T.let(T.unsafe(nil), String)

# Checks for unnecessary ‘require` statement. # # The following features are unnecessary `require` statement because # they are already loaded. e.g. Ruby 2.2: # # ruby -ve ’p $LOADED_FEATURES.reject { |feature| %r|/| =~ feature }‘ # ruby 2.2.8p477 (2017-09-14 revision 59906) [x86_64-darwin13] # [“enumerator.so”, “rational.so”, “complex.so”, “thread.rb”] # # Below are the features that each `TargetRubyVersion` targets. # # * 2.0+ … `enumerator` # * 2.1+ … `thread` # * 2.2+ … Add `rational` and `complex` above # * 2.5+ … Add `pp` above # * 2.7+ … Add `ruby2_keywords` above # * 3.1+ … Add `fiber` above # * 3.2+ … `set` # # This cop target those features. # # @example # # bad # require ’unloaded_feature’ # require ‘thread’ # # # good # require ‘unloaded_feature’ # # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#38 class RuboCop::Cop::Lint::RedundantRequireStatement < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#61
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#57
def pp_const?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#51
def redundant_require_statement?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#91
def need_to_require_pp?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#80
def redundant_feature?(feature_name); end

end

# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#42 RuboCop::Cop::Lint::RedundantRequireStatement::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#45 RuboCop::Cop::Lint::RedundantRequireStatement::PRETTY_PRINT_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#43 RuboCop::Cop::Lint::RedundantRequireStatement::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#44 RuboCop::Cop::Lint::RedundantRequireStatement::RUBY_22_LOADED_FEATURES = T.let(T.unsafe(nil), Array)

# Checks for redundant safe navigation calls. # Use cases where a constant, named in camel case for classes and modules is ‘nil` are rare, # and an offense is not detected when the receiver is a constant. The detection also applies # to literal receivers, except for `nil`. # # For all receivers, the `instance_of?`, `kind_of?`, `is_a?`, `eql?`, `respond_to?`, # and `equal?` methods are checked by default. # These are customizable with `AllowedMethods` option. # # The `AllowedMethods` option specifies nil-safe methods, # in other words, it is a method that is allowed to skip safe navigation. # Note that the `AllowedMethod` option is not an option that specifies methods # for which to suppress (allow) this cop’s check. # # In the example below, the safe navigation operator (‘&.`) is unnecessary # because `NilClass` has methods like `respond_to?` and `is_a?`. # # @example # # bad # CamelCaseConst&.do_something # # # bad # do_something if attrs&.respond_to?(:[]) # # # good # do_something if attrs.respond_to?(:[]) # # # bad # while node&.is_a?(BeginNode) # node = node.parent # end # # # good # CamelCaseConst.do_something # # # good # while node.is_a?(BeginNode) # node = node.parent # end # # # good - without `&.` this will always return `true` # foo&.respond_to?(:to_a) # # # bad - for `nil`s conversion methods return default values for the type # foo&.to_h || {} # foo&.to_h { |k, v| [k, v] } || {} # foo&.to_a || [] # foo&.to_i || 0 # foo&.to_f || 0.0 # foo&.to_s || ” # # # good # foo.to_h # foo.to_h { |k, v| [k, v] } # foo.to_a # foo.to_i # foo.to_f # foo.to_s # @example AllowedMethods: [nil_safe_method] # # bad # do_something if attrs&.nil_safe_method(:[]) # # # good # do_something if attrs.nil_safe_method(:[]) # do_something if attrs&.not_nil_safe_method(:[]) # # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#78 class RuboCop::Cop::Lint::RedundantSafeNavigation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#95
def conversion_with_default?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#107
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#117
def on_or(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#90
def respond_to_nil_specific_method?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#133
def assume_receiver_instance_exists?(receiver); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#139
def check?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#149
def condition?(parent, node); end

end

# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#82 RuboCop::Cop::Lint::RedundantSafeNavigation::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#83 RuboCop::Cop::Lint::RedundantSafeNavigation::MSG_LITERAL = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#85 RuboCop::Cop::Lint::RedundantSafeNavigation::NIL_SPECIFIC_METHODS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#87 RuboCop::Cop::Lint::RedundantSafeNavigation::SNAKE_CASE = T.let(T.unsafe(nil), Regexp)

# Checks for unneeded usages of splat expansion # # @example # # # bad # a = *[1, 2, 3] # a = *‘a’ # a = *1 # [‘a’, ‘b’, *%w(c d e), ‘f’, ‘g’] # # # good # c = [1, 2, 3] # a = *c # a, b = *c # a, *b = *c # a = *1..10 # a = [‘a’] # [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’] # # # bad # do_something(*[‘foo’, ‘bar’, ‘baz’]) # # # good # do_something(‘foo’, ‘bar’, ‘baz’) # # # bad # begin # foo # rescue *[StandardError, ApplicationError] # bar # end # # # good # begin # foo # rescue StandardError, ApplicationError # bar # end # # # bad # case foo # when *[1, 2, 3] # bar # else # baz # end # # # good # case foo # when 1, 2, 3 # bar # else # baz # end # @example AllowPercentLiteralArrayArgument: true (default) # # # good # do_something(*%w[foo bar baz]) # @example AllowPercentLiteralArrayArgument: false # # # bad # do_something(*%w[foo bar baz]) # # source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#71 class RuboCop::Cop::Lint::RedundantSplatExpansion < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#83
def array_new?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#91
def literal_expansion(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#95
def on_splat(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#203
def allow_percent_literal_array_argument?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#131
def array_new_inside_array_literal?(array_new_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#155
def array_splat?(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#112
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#159
def method_argument?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#163
def part_of_an_array?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#170
def redundant_brackets?(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#118
def redundant_splat_expansion(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#178
def remove_brackets(array); end

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#138
def replacement_range_and_content(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#196
def use_percent_literal_array_argument?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#75 RuboCop::Cop::Lint::RedundantSplatExpansion::ARRAY_PARAM_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#80 RuboCop::Cop::Lint::RedundantSplatExpansion::ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#74 RuboCop::Cop::Lint::RedundantSplatExpansion::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#79 RuboCop::Cop::Lint::RedundantSplatExpansion::PERCENT_CAPITAL_I = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#77 RuboCop::Cop::Lint::RedundantSplatExpansion::PERCENT_CAPITAL_W = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#78 RuboCop::Cop::Lint::RedundantSplatExpansion::PERCENT_I = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_splat_expansion.rb#76 RuboCop::Cop::Lint::RedundantSplatExpansion::PERCENT_W = T.let(T.unsafe(nil), String)

# Checks for string conversion in string interpolation, ‘print`, `puts`, and `warn` arguments, # which is redundant. # # @example # # # bad # # “result is #{something.to_s}” # print something.to_s # puts something.to_s # warn something.to_s # @example # # # good # # “result is #{something}” # print something # puts something # warn something # # source://rubocop//lib/rubocop/cop/lint/redundant_string_coercion.rb#27 class RuboCop::Cop::Lint::RedundantStringCoercion < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Interpolation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/redundant_string_coercion.rb#38
def on_interpolation(begin_node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_string_coercion.rb#46
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_string_coercion.rb#36
def to_s_without_args?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/lint/redundant_string_coercion.rb#58
def register_offense(node, context); end

end

# source://rubocop//lib/rubocop/cop/lint/redundant_string_coercion.rb#31 RuboCop::Cop::Lint::RedundantStringCoercion::MSG_DEFAULT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_string_coercion.rb#32 RuboCop::Cop::Lint::RedundantStringCoercion::MSG_SELF = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_string_coercion.rb#33 RuboCop::Cop::Lint::RedundantStringCoercion::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for redundant ‘with_index`. # # @example # # bad # ary.each_with_index do |v| # v # end # # # good # ary.each do |v| # v # end # # # bad # ary.each.with_index do |v| # v # end # # # good # ary.each do |v| # v # end # # source://rubocop//lib/rubocop/cop/lint/redundant_with_index.rb#29 class RuboCop::Cop::Lint::RedundantWithIndex < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/redundant_with_index.rb#37
def on_block(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_with_index.rb#37
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_with_index.rb#60
def redundant_with_index?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/lint/redundant_with_index.rb#70
def message(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_with_index.rb#78
def with_index_range(send); end

end

# source://rubocop//lib/rubocop/cop/lint/redundant_with_index.rb#33 RuboCop::Cop::Lint::RedundantWithIndex::MSG_EACH_WITH_INDEX = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_with_index.rb#34 RuboCop::Cop::Lint::RedundantWithIndex::MSG_WITH_INDEX = T.let(T.unsafe(nil), String)

# Checks for redundant ‘with_object`. # # @example # # bad # ary.each_with_object([]) do |v| # v # end # # # good # ary.each do |v| # v # end # # # bad # ary.each.with_object([]) do |v| # v # end # # # good # ary.each do |v| # v # end # # source://rubocop//lib/rubocop/cop/lint/redundant_with_object.rb#29 class RuboCop::Cop::Lint::RedundantWithObject < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/redundant_with_object.rb#36
def on_block(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_with_object.rb#36
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_with_object.rb#56
def redundant_with_object?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/lint/redundant_with_object.rb#65
def message(node); end

# source://rubocop//lib/rubocop/cop/lint/redundant_with_object.rb#73
def with_object_range(send); end

end

# source://rubocop//lib/rubocop/cop/lint/redundant_with_object.rb#33 RuboCop::Cop::Lint::RedundantWithObject::MSG_EACH_WITH_OBJECT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/redundant_with_object.rb#34 RuboCop::Cop::Lint::RedundantWithObject::MSG_WITH_OBJECT = T.let(T.unsafe(nil), String)

# Checks if ‘include` or `prepend` is called in `refine` block. # These methods are deprecated and should be replaced with `Refinement#import_methods`. # # It emulates deprecation warnings in Ruby 3.1. # # @example # # # bad # refine Foo do # include Bar # end # # # bad # refine Foo do # prepend Bar # end # # # good # refine Foo do # import_methods Bar # end # # source://rubocop//lib/rubocop/cop/lint/refinement_import_methods.rb#34 class RuboCop::Cop::Lint::RefinementImportMethods < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/lint/refinement_import_methods.rb#42
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/lint/refinement_import_methods.rb#37 RuboCop::Cop::Lint::RefinementImportMethods::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/refinement_import_methods.rb#38 RuboCop::Cop::Lint::RefinementImportMethods::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for regexp literals used as ‘match-current-line`. # If a regexp literal is in condition, the regexp matches `$_` implicitly. # # @example # # bad # if /foo/ # do_something # end # # # good # if /foo/ =~ $_ # do_something # end # # source://rubocop//lib/rubocop/cop/lint/regexp_as_condition.rb#19 class RuboCop::Cop::Lint::RegexpAsCondition < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/regexp_as_condition.rb#26
def on_match_current_line(node); end

end

# source://rubocop//lib/rubocop/cop/lint/regexp_as_condition.rb#23 RuboCop::Cop::Lint::RegexpAsCondition::MSG = T.let(T.unsafe(nil), String)

# Checks for expressions where there is a call to a predicate # method with at least one argument, where no parentheses are used around # the parameter list, and a boolean operator, && or ||, is used in the # last argument. # # The idea behind warning for these constructs is that the user might # be under the impression that the return value from the method call is # an operand of &&/||. # # @example # # # bad # # if day.is? :tuesday && month == :jan # # … # end # @example # # # good # # if day.is?(:tuesday) && month == :jan # # … # end # # source://rubocop//lib/rubocop/cop/lint/require_parentheses.rb#30 class RuboCop::Cop::Lint::RequireParentheses < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/lint/require_parentheses.rb#35
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/lint/require_parentheses.rb#35
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/require_parentheses.rb#58
def check_predicate(predicate, node); end

# source://rubocop//lib/rubocop/cop/lint/require_parentheses.rb#48
def check_ternary(ternary, node); end

end

# source://rubocop//lib/rubocop/cop/lint/require_parentheses.rb#33 RuboCop::Cop::Lint::RequireParentheses::MSG = T.let(T.unsafe(nil), String)

# Checks that a range literal is enclosed in parentheses when the end of the range is # at a line break. # # NOTE: The following is maybe intended for ‘(42..)`. But, compatible is `42..do_something`. # So, this cop does not provide autocorrection because it is left to user. # # [source,ruby] # —- # case condition # when 42.. # do_something # end # —- # # @example # # # bad - Represents `(1..42)`, not endless range. # 1.. # 42 # # # good - It’s incompatible, but your intentions when using endless range may be: # (1..) # 42 # # # good # 1..42 # # # good # (1..42) # # # good # (1.. # 42) # # source://rubocop//lib/rubocop/cop/lint/require_range_parentheses.rb#40 class RuboCop::Cop::Lint::RequireRangeParentheses < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/require_range_parentheses.rb#43
def on_erange(node); end

# source://rubocop//lib/rubocop/cop/lint/require_range_parentheses.rb#43
def on_irange(node); end

end

# source://rubocop//lib/rubocop/cop/lint/require_range_parentheses.rb#41 RuboCop::Cop::Lint::RequireRangeParentheses::MSG = T.let(T.unsafe(nil), String)

# Checks for uses a file requiring itself with ‘require_relative`. # # @example # # # bad # # # foo.rb # require_relative ’foo’ # require_relative ‘bar’ # # # good # # # foo.rb # require_relative ‘bar’ # # source://rubocop//lib/rubocop/cop/lint/require_relative_self_path.rb#21 class RuboCop::Cop::Lint::RequireRelativeSelfPath < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/require_relative_self_path.rb#28
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/require_relative_self_path.rb#44
def remove_ext(file_path); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/require_relative_self_path.rb#40
def same_file?(file_path, required_feature); end

end

# source://rubocop//lib/rubocop/cop/lint/require_relative_self_path.rb#25 RuboCop::Cop::Lint::RequireRelativeSelfPath::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/require_relative_self_path.rb#26 RuboCop::Cop::Lint::RequireRelativeSelfPath::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for ‘rescue` blocks targeting the Exception class. # # @example # # # bad # # begin # do_something # rescue Exception # handle_exception # end # @example # # # good # # begin # do_something # rescue ArgumentError # handle_exception # end # # source://rubocop//lib/rubocop/cop/lint/rescue_exception.rb#27 class RuboCop::Cop::Lint::RescueException < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/rescue_exception.rb#30
def on_resbody(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/rescue_exception.rb#39
def targets_exception?(rescue_arg_node); end

end

# source://rubocop//lib/rubocop/cop/lint/rescue_exception.rb#28 RuboCop::Cop::Lint::RescueException::MSG = T.let(T.unsafe(nil), String)

# Check for arguments to ‘rescue` that will result in a `TypeError` # if an exception is raised. # # @example # # bad # begin # bar # rescue nil # baz # end # # # bad # def foo # bar # rescue 1, ’a’, “#{b}”, 0.0, [], {} # baz # end # # # good # begin # bar # rescue # baz # end # # # good # def foo # bar # rescue NameError # baz # end # # source://rubocop//lib/rubocop/cop/lint/rescue_type.rb#37 class RuboCop::Cop::Lint::RescueType < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/rescue_type.rb#60
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/rescue_type.rb#44
def on_resbody(node); end

private

# source://rubocop//lib/rubocop/cop/lint/rescue_type.rb#69
def correction(*exceptions); end

# source://rubocop//lib/rubocop/cop/lint/rescue_type.rb#80
def invalid_exceptions(exceptions); end

# source://rubocop//lib/rubocop/cop/lint/rescue_type.rb#76
def valid_exceptions(exceptions); end

end

# source://rubocop//lib/rubocop/cop/lint/rescue_type.rb#42 RuboCop::Cop::Lint::RescueType::INVALID_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/rescue_type.rb#40 RuboCop::Cop::Lint::RescueType::MSG = T.let(T.unsafe(nil), String)

# Checks for the use of a return with a value in a context # where the value will be ignored. (initialize and setter methods) # # @example # # # bad # def initialize # foo # return :qux if bar? # baz # end # # def foo=(bar) # return 42 # end # @example # # # good # def initialize # foo # return if bar? # baz # end # # def foo=(bar) # return # end # # source://rubocop//lib/rubocop/cop/lint/return_in_void_context.rb#34 class RuboCop::Cop::Lint::ReturnInVoidContext < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/return_in_void_context.rb#37
def on_return(return_node); end

private

# source://rubocop//lib/rubocop/cop/lint/return_in_void_context.rb#53
def non_void_context(return_node); end

end

# source://rubocop//lib/rubocop/cop/lint/return_in_void_context.rb#35 RuboCop::Cop::Lint::ReturnInVoidContext::MSG = T.let(T.unsafe(nil), String)

# The safe navigation operator returns nil if the receiver is # nil. If you chain an ordinary method call after a safe # navigation operator, it raises NoMethodError. We should use a # safe navigation operator after a safe navigation operator. # This cop checks for the problem outlined above. # # @example # # # bad # # x&.foo.bar # x&.foo + bar # x&.foo # @example # # # good # # x&.foo&.bar # x&.foo || bar # # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#26 class RuboCop::Cop::Lint::SafeNavigationChain < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::NilMethods
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#37
def bad_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#44
def on_send(node); end

private

# @param offense_range [Parser::Source::Range]
# @param send_node [RuboCop::AST::SendNode]
# @return [String]
#
# source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#62
def add_safe_navigation_operator(offense_range:, send_node:); end

# @param corrector [RuboCop::Cop::Corrector]
# @param offense_range [Parser::Source::Range]
# @param send_node [RuboCop::AST::SendNode]
#
# source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#81
def autocorrect(corrector, offense_range:, send_node:); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#90
def brackets?(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#94
def require_parentheses?(send_node); end

end

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#33 RuboCop::Cop::Lint::SafeNavigationChain::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#34 RuboCop::Cop::Lint::SafeNavigationChain::PLUS_MINUS_METHODS = T.let(T.unsafe(nil), Array)

# Check to make sure that if safe navigation is used for a method # call in an ‘&&` or `||` condition that safe navigation is used for all # method calls on that same object. # # @example # # bad # foo&.bar && foo.baz # # # bad # foo.bar || foo&.baz # # # bad # foo&.bar && (foobar.baz || foo.baz) # # # good # foo.bar && foo.baz # # # good # foo&.bar || foo&.baz # # # good # foo&.bar && (foobar.baz || foo&.baz) # # source://rubocop//lib/rubocop/cop/lint/safe_navigation_consistency.rb#29 class RuboCop::Cop::Lint::SafeNavigationConsistency < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::NilMethods
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_consistency.rb#42
def check(node); end

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_consistency.rb#36
def on_csend(node); end

private

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_consistency.rb#61
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_consistency.rb#67
def location(node, unsafe_method_call); end

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_consistency.rb#71
def top_conditional_ancestor(node); end

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_consistency.rb#82
def unsafe_method_calls(method_calls, safe_nav_receiver); end

end

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_consistency.rb#34 RuboCop::Cop::Lint::SafeNavigationConsistency::MSG = T.let(T.unsafe(nil), String)

# Checks to make sure safe navigation isn’t used with ‘empty?` in # a conditional. # # While the safe navigation operator is generally a good idea, when # checking `foo&.empty?` in a conditional, `foo` being `nil` will actually # do the opposite of what the author intends. # # @example # # bad # return if foo&.empty? # return unless foo&.empty? # # # good # return if foo && foo.empty? # return unless foo && foo.empty? # # source://rubocop//lib/rubocop/cop/lint/safe_navigation_with_empty.rb#22 class RuboCop::Cop::Lint::SafeNavigationWithEmpty < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_with_empty.rb#32
def on_if(node); end

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_with_empty.rb#28
def safe_navigation_empty_in_conditional?(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/lint/safe_navigation_with_empty.rb#25 RuboCop::Cop::Lint::SafeNavigationWithEmpty::MSG = T.let(T.unsafe(nil), String)

# Checks if a file which has a shebang line as # its first line is granted execute permission. # # @example # # bad # # # A file which has a shebang line as its first line is not # # granted execute permission. # # !/usr/bin/env ruby # puts ‘hello, world’ # # # good # # # A file which has a shebang line as its first line is # # granted execute permission. # # !/usr/bin/env ruby # puts ‘hello, world’ # # # good # # # A file which has not a shebang line as its first line is not # # granted execute permission. # # puts ‘hello, world’ # # source://rubocop//lib/rubocop/cop/lint/script_permission.rb#33 class RuboCop::Cop::Lint::ScriptPermission < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/script_permission.rb#39
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/lint/script_permission.rb#55
def autocorrect; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/script_permission.rb#59
def executable?(processed_source); end

# source://rubocop//lib/rubocop/cop/lint/script_permission.rb#66
def format_message_from(processed_source); end

end

# source://rubocop//lib/rubocop/cop/lint/script_permission.rb#36 RuboCop::Cop::Lint::ScriptPermission::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/script_permission.rb#37 RuboCop::Cop::Lint::ScriptPermission::SHEBANG = T.let(T.unsafe(nil), String)

# Checks for self-assignments. # # @example # # bad # foo = foo # foo, bar = foo, bar # Foo = Foo # hash = hash # obj.attr = obj.attr # # # good # foo = bar # foo, bar = bar, foo # Foo = Bar # hash = hash # obj.attr = obj.attr2 # # # good (method calls possibly can return different results) # hash = hash # # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#26 class RuboCop::Cop::Lint::SelfAssignment < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#69
def on_and_asgn(node); end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#57
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#36
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#45
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#45
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#45
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#45
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#65
def on_masgn(node); end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#69
def on_or_asgn(node); end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#36
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#103
def handle_attribute_assignment(node); end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#92
def handle_key_assignment(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#77
def multiple_self_assignment?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#87
def rhs_matches_lhs?(rhs, lhs); end

end

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#29 RuboCop::Cop::Lint::SelfAssignment::ASSIGNMENT_TYPE_TO_RHS_TYPE = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#27 RuboCop::Cop::Lint::SelfAssignment::MSG = T.let(T.unsafe(nil), String)

# Checks for ‘send`, `public_send`, and `__send__` methods # when using mix-in. # # `include` and `prepend` methods were private methods until Ruby 2.0, # they were mixed-in via `send` method. This cop uses Ruby 2.1 or # higher style that can be called by public methods. # And `extend` method that was originally a public method is also targeted # for style unification. # # @example # # bad # Foo.send(:include, Bar) # Foo.send(:prepend, Bar) # Foo.send(:extend, Bar) # # # bad # Foo.public_send(:include, Bar) # Foo.public_send(:prepend, Bar) # Foo.public_send(:extend, Bar) # # # bad # Foo.__send__(:include, Bar) # Foo.__send__(:prepend, Bar) # Foo.__send__(:extend, Bar) # # # good # Foo.include Bar # Foo.prepend Bar # Foo.extend Bar # # source://rubocop//lib/rubocop/cop/lint/send_with_mixin_argument.rb#36 class RuboCop::Cop::Lint::SendWithMixinArgument < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/send_with_mixin_argument.rb#53
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/send_with_mixin_argument.rb#46
def send_with_mixin_argument?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/lint/send_with_mixin_argument.rb#67
def bad_location(node); end

# source://rubocop//lib/rubocop/cop/lint/send_with_mixin_argument.rb#73
def message(method, module_name, bad_method); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/send_with_mixin_argument.rb#77
def mixin_method?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/send_with_mixin_argument.rb#41 RuboCop::Cop::Lint::SendWithMixinArgument::MIXIN_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/send_with_mixin_argument.rb#40 RuboCop::Cop::Lint::SendWithMixinArgument::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/send_with_mixin_argument.rb#43 RuboCop::Cop::Lint::SendWithMixinArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/send_with_mixin_argument.rb#42 RuboCop::Cop::Lint::SendWithMixinArgument::SEND_METHODS = T.let(T.unsafe(nil), Array)

# Checks for shadowed arguments. # # This cop has ‘IgnoreImplicitReferences` configuration option. # It means argument shadowing is used in order to pass parameters # to zero arity `super` when `IgnoreImplicitReferences` is `true`. # # @example # # # bad # do_something do |foo| # foo = 42 # puts foo # end # # def do_something(foo) # foo = 42 # puts foo # end # # # good # do_something do |foo| # foo = foo + 42 # puts foo # end # # def do_something(foo) # foo = foo + 42 # puts foo # end # # def do_something(foo) # puts foo # end # @example IgnoreImplicitReferences: false (default) # # # bad # def do_something(foo) # foo = 42 # super # end # # def do_something(foo) # foo = super # bar # end # @example IgnoreImplicitReferences: true # # # good # def do_something(foo) # foo = 42 # super # end # # def do_something(foo) # foo = super # bar # end # # source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#66 class RuboCop::Cop::Lint::ShadowedArgument < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#76
def after_leaving_scope(scope, _variable_table); end

# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#70
def uses_var?(param0, param1); end

private

# Get argument references without assignments' references
#
# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#161
def argument_references(argument); end

# Find the first argument assignment, which doesn't reference the
# argument at the rhs. If the assignment occurs inside a branch or
# block, it is impossible to tell whether it's executed, so precise
# shadowing location is not known.
#
# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#120
def assignment_without_argument_usage(argument); end

# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#82
def check_argument(argument); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#171
def ignore_implicit_references?; end

# Check whether the given node is nested into block or conditional.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#152
def node_within_block_or_conditional?(node, stop_search_node); end

# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#144
def reference_pos(node); end

# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#95
def shadowing_assignment(argument); end

class << self
  # source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#72
  def joining_forces; end
end

end

# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#67 RuboCop::Cop::Lint::ShadowedArgument::MSG = T.let(T.unsafe(nil), String)

# Checks for a rescued exception that get shadowed by a # less specific exception being rescued before a more specific # exception is rescued. # # An exception is considered shadowed if it is rescued after its # ancestor is, or if it and its ancestor are both rescued in the # same ‘rescue` statement. In both cases, the more specific rescue is # unnecessary because it is covered by rescuing the less specific # exception. (ie. `rescue Exception, StandardError` has the same behavior # whether `StandardError` is included or not, because all “StandardError“s # are rescued by `rescue Exception`). # # @example # # # bad # # begin # something # rescue Exception # handle_exception # rescue StandardError # handle_standard_error # end # # # bad # begin # something # rescue Exception, StandardError # handle_error # end # # # good # # begin # something # rescue StandardError # handle_standard_error # rescue Exception # handle_exception # end # # # good, however depending on runtime environment. # # # # This is a special case for system call errors. # # System dependent error code depends on runtime environment. # # For example, whether `Errno::EAGAIN` and `Errno::EWOULDBLOCK` are # # the same error code or different error code depends on environment. # # This good case is for `Errno::EAGAIN` and `Errno::EWOULDBLOCK` with # # the same error code. # begin # something # rescue Errno::EAGAIN, Errno::EWOULDBLOCK # handle_standard_error # end # # source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#61 class RuboCop::Cop::Lint::ShadowedException < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RescueNode
include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#67
def on_rescue(node); end

private

# source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#101
def compare_exceptions(exception, other_exception); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#94
def contains_multiple_levels_of_exceptions?(group); end

# source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#119
def evaluate_exceptions(group); end

# source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#152
def find_shadowing_rescue(rescues); end

# source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#84
def offense_range(rescues); end

# source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#90
def rescued_groups_for(rescues); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#137
def sorted?(rescued_groups); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#115
def system_call_err?(error); end

end

# source://rubocop//lib/rubocop/cop/lint/shadowed_exception.rb#65 RuboCop::Cop::Lint::ShadowedException::MSG = T.let(T.unsafe(nil), String)

# Checks for the use of local variable names from an outer scope # in block arguments or block-local variables. This mirrors the warning # given by ‘ruby -cw` prior to Ruby 2.6: # “shadowing outer local variable - foo”. # # NOTE: Shadowing of variables in block passed to `Ractor.new` is allowed # because `Ractor` should not access outer variables. # eg. following style is encouraged: # # [source,ruby] # —- # worker_id, pipe = env # Ractor.new(worker_id, pipe) do |worker_id, pipe| # end # —- # # @example # # # bad # # def some_method # foo = 1 # # 2.times do |foo| # shadowing outer `foo` # do_something(foo) # end # end # @example # # # good # # def some_method # foo = 1 # # 2.times do |bar| # do_something(bar) # end # end # # source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#45 class RuboCop::Cop::Lint::ShadowingOuterLocalVariable < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#57
def before_declaring_variable(variable, variable_table); end

# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#93
def find_conditional_node_from_ascendant(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#100
def node_or_its_ascendant_conditional?(node); end

# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#49
def ractor_block?(param0 = T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#69
def same_conditions_node_different_branch?(variable, outer_local_variable); end

# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#83
def variable_node(variable); end

class << self
  # source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#53
  def joining_forces; end
end

end

# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#46 RuboCop::Cop::Lint::ShadowingOuterLocalVariable::MSG = T.let(T.unsafe(nil), String)

# Checks unexpected overrides of the ‘Struct` built-in methods # via `Struct.new`. # # @example # # bad # Bad = Struct.new(:members, :clone, :count) # b = Bad.new([], true, 1) # b.members #=> [] (overriding `Struct#members`) # b.clone #=> true (overriding `Object#clone`) # b.count #=> 1 (overriding `Enumerable#count`) # # # good # Good = Struct.new(:id, :name) # g = Good.new(1, “foo”) # g.members #=> [:id, :name] # g.clone #=>

# source://rubocop//lib/rubocop/cop/lint/struct_new_override.rb#38
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/struct_new_override.rb#33
def struct_new(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/lint/struct_new_override.rb#25 RuboCop::Cop::Lint::StructNewOverride::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/struct_new_override.rb#27 RuboCop::Cop::Lint::StructNewOverride::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/struct_new_override.rb#30 RuboCop::Cop::Lint::StructNewOverride::STRUCT_MEMBER_NAME_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/struct_new_override.rb#29 RuboCop::Cop::Lint::StructNewOverride::STRUCT_METHOD_NAMES = T.let(T.unsafe(nil), Array)

# Checks for ‘rescue` blocks with no body. # # @example # # # bad # def some_method # do_something # rescue # end # # # bad # begin # do_something # rescue # end # # # good # def some_method # do_something # rescue # handle_exception # end # # # good # begin # do_something # rescue # handle_exception # end # @example AllowComments: true (default) # # # good # def some_method # do_something # rescue # # do nothing # end # # # good # begin # do_something # rescue # # do nothing # end # @example AllowComments: false # # # bad # def some_method # do_something # rescue # # do nothing # end # # # bad # begin # do_something # rescue # # do nothing # end # @example AllowNil: true (default) # # # good # def some_method # do_something # rescue # nil # end # # # good # begin # do_something # rescue # # do nothing # end # # # good # do_something rescue nil # @example AllowNil: false # # # bad # def some_method # do_something # rescue # nil # end # # # bad # begin # do_something # rescue # nil # end # # # bad # do_something rescue nil # # source://rubocop//lib/rubocop/cop/lint/suppressed_exception.rb#105 class RuboCop::Cop::Lint::SuppressedException < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/suppressed_exception.rb#108
def on_resbody(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/suppressed_exception.rb#118
def comment_between_rescue_and_end?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/suppressed_exception.rb#126
def nil_body?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/suppressed_exception.rb#106 RuboCop::Cop::Lint::SuppressedException::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of literal strings converted to # a symbol where a literal symbol could be used instead. # # There are two possible styles for this cop. # ‘strict` (default) will register an offense for any incorrect usage. # `consistent` additionally requires hashes to use the same style for # every symbol key (ie. if any symbol key needs to be quoted it requires # all keys to be quoted). # # @example # # bad # ’string’.to_sym # :symbol.to_sym # ‘underscored_string’.to_sym # :‘underscored_symbol’ # ‘hyphenated-string’.to_sym # “string_#{interpolation}”.to_sym # # # good # :string # :symbol # :underscored_string # :underscored_symbol # :‘hyphenated-string’ # :“string_#{interpolation}” # @example EnforcedStyle: strict (default) # # # bad # { # ‘a’: 1, # “b”: 2, # ‘c-d’: 3 # } # # # good (don’t quote keys that don’t require quoting) # { # a: 1, # b: 2, # ‘c-d’: 3 # } # @example EnforcedStyle: consistent # # # bad # { # a: 1, # ‘b-c’: 2 # } # # # good (quote all keys if any need quoting) # { # ‘a’: 1, # ‘b-c’: 2 # } # # # good (no quoting required) # { # a: 1, # b: 2 # } # # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#68 class RuboCop::Cop::Lint::SymbolConversion < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::SymbolHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#105
def on_hash(node); end

# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#78
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#88
def on_sym(node); end

private

# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#147
def correct_hash_key(node); end

# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#166
def correct_inconsistent_hash_keys(keys); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#139
def in_alias?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#143
def in_percent_literal_array?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#126
def properly_quoted?(source, value); end

# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#122
def register_offense(node, correction:, message: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#135
def requires_quotes?(sym_node); end

end

# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#73 RuboCop::Cop::Lint::SymbolConversion::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#74 RuboCop::Cop::Lint::SymbolConversion::MSG_CONSISTENCY = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#76 RuboCop::Cop::Lint::SymbolConversion::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Repacks Parser’s diagnostics/errors # into RuboCop’s offenses. # # source://rubocop//lib/rubocop/cop/lint/syntax.rb#8 class RuboCop::Cop::Lint::Syntax < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/syntax.rb#9
def on_other_file; end

private

# source://rubocop//lib/rubocop/cop/lint/syntax.rb#19
def add_offense_from_diagnostic(diagnostic, ruby_version); end

# source://rubocop//lib/rubocop/cop/lint/syntax.rb#29
def add_offense_from_error(error); end

# source://rubocop//lib/rubocop/cop/lint/syntax.rb#34
def beautify_message(message); end

# source://rubocop//lib/rubocop/cop/lint/syntax.rb#40
def find_severity(_range, _severity); end

end

# Ensures that ‘to_enum`/`enum_for`, called for the current method, # has correct arguments. # # @example # # bad # def foo(x, y = 1) # return to_enum(__callee__, x) # `y` is missing # end # # # good # def foo(x, y = 1) # # Alternatives to `__callee__` are `__method__` and `:foo`. # return to_enum(__callee__, x, y) # end # # # good # def foo(x, y = 1) # # It is also allowed if it is wrapped in some method like Sorbet. # return to_enum(T.must(__callee__), x, y) # end # # source://rubocop//lib/rubocop/cop/lint/to_enum_arguments.rb#27 class RuboCop::Cop::Lint::ToEnumArguments < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/to_enum_arguments.rb#33
def enum_conversion_call?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/to_enum_arguments.rb#38
def method_name?(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/lint/to_enum_arguments.rb#47
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/to_enum_arguments.rb#43
def passing_keyword_arg?(param0 = T.unsafe(nil), param1); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/to_enum_arguments.rb#83
def argument_match?(send_arg, def_arg); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/to_enum_arguments.rb#68
def arguments_match?(arguments, def_node); end

end

# source://rubocop//lib/rubocop/cop/lint/to_enum_arguments.rb#28 RuboCop::Cop::Lint::ToEnumArguments::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/to_enum_arguments.rb#30 RuboCop::Cop::Lint::ToEnumArguments::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks to make sure ‘#to_json` includes an optional argument. # When overriding `#to_json`, callers may invoke JSON # generation via `JSON.generate(your_obj)`. Since `JSON#generate` allows # for an optional argument, your method should too. # # @example # class Point # attr_reader :x, :y # # # bad, incorrect arity # def to_json # JSON.generate([x, y]) # end # # # good, preserving args # def to_json(*args) # JSON.generate([x, y], *args) # end # # # good, discarding args # def to_json(*_args) # JSON.generate([x, y]) # end # end # # source://rubocop//lib/rubocop/cop/lint/to_json.rb#31 class RuboCop::Cop::Lint::ToJSON < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/to_json.rb#36
def on_def(node); end

end

# source://rubocop//lib/rubocop/cop/lint/to_json.rb#34 RuboCop::Cop::Lint::ToJSON::MSG = T.let(T.unsafe(nil), String)

# Checks for top level return with arguments. If there is a # top-level return statement with an argument, then the argument is # always ignored. This is detected automatically since Ruby 2.7. # # @example # # bad # return 1 # # # good # return # # source://rubocop//lib/rubocop/cop/lint/top_level_return_with_argument.rb#16 class RuboCop::Cop::Lint::TopLevelReturnWithArgument < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/top_level_return_with_argument.rb#21
def on_return(return_node); end

private

# source://rubocop//lib/rubocop/cop/lint/top_level_return_with_argument.rb#35
def remove_arguments(corrector, return_node); end

# This cop works by validating the ancestors of the return node. A
# top-level return node's ancestors should not be of block, def, or
# defs type.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/top_level_return_with_argument.rb#42
def top_level_return?(return_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/top_level_return_with_argument.rb#31
def top_level_return_with_any_argument?(return_node); end

end

# source://rubocop//lib/rubocop/cop/lint/top_level_return_with_argument.rb#19 RuboCop::Cop::Lint::TopLevelReturnWithArgument::MSG = T.let(T.unsafe(nil), String)

# Checks for trailing commas in attribute declarations, such as # ‘#attr_reader`. Leaving a trailing comma will nullify the next method # definition by overriding it with a getter method. # # @example # # # bad # class Foo # attr_reader :foo, # # def bar # puts “Unreachable.” # end # end # # # good # class Foo # attr_reader :foo # # def bar # puts “No problem!” # end # end # # source://rubocop//lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb#30 class RuboCop::Cop::Lint::TrailingCommaInAttributeDeclaration < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb#36
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb#46
def trailing_comma_range(node); end

end

# source://rubocop//lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb#34 RuboCop::Cop::Lint::TrailingCommaInAttributeDeclaration::MSG = T.let(T.unsafe(nil), String)

# Checks for “triple quotes” (strings delimited by any odd number # of quotes greater than 1). # # Ruby allows multiple strings to be implicitly concatenated by just # being adjacent in a statement (ie. ‘“foo”“bar” == “foobar”`). This sometimes # gives the impression that there is something special about triple quotes, but # in fact it is just extra unnecessary quotes and produces the same string. Each # pair of quotes produces an additional concatenated empty string, so the result # is still only the “actual” string within the delimiters. # # NOTE: Although this cop is called triple quotes, the same behavior is present # for strings delimited by 5, 7, etc. quotation marks. # # @example # # bad # “”“ # A string # ”“” # # # bad # ”’ # A string # ”‘ # # # good # “ # A string # ” # # # good # <<STRING # A string # STRING # # # good (but not the same spacing as the bad case) # ’A string’ # # source://rubocop//lib/rubocop/cop/lint/triple_quotes.rb#42 class RuboCop::Cop::Lint::TripleQuotes < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/triple_quotes.rb#47
def on_dstr(node); end

private

# source://rubocop//lib/rubocop/cop/lint/triple_quotes.rb#65
def empty_str_nodes(node); end

end

# source://rubocop//lib/rubocop/cop/lint/triple_quotes.rb#45 RuboCop::Cop::Lint::TripleQuotes::MSG = T.let(T.unsafe(nil), String)

# Checks for underscore-prefixed variables that are actually # used. # # Since block keyword arguments cannot be arbitrarily named at call # sites, the ‘AllowKeywordBlockArguments` will allow use of underscore- # prefixed block keyword arguments. # # @example AllowKeywordBlockArguments: false (default) # # # bad # # [1, 2, 3].each do |_num| # do_something(_num) # end # # query(:sales) do |_id:, revenue:, cost:| # {_id: _id, profit: revenue - cost} # end # # # good # # [1, 2, 3].each do |num| # do_something(num) # end # # [1, 2, 3].each do |_num| # do_something # not using `_num` # end # @example AllowKeywordBlockArguments: true # # # good # # query(:sales) do |_id:, revenue:, cost:| # {_id: _id, profit: revenue - cost} # end # # source://rubocop//lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb#43 class RuboCop::Cop::Lint::UnderscorePrefixedVariableName < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb#50
def after_leaving_scope(scope, _variable_table); end

# source://rubocop//lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb#54
def check_variable(variable); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb#72
def allowed_keyword_block_argument?(variable); end

class << self
  # source://rubocop//lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb#46
  def joining_forces; end
end

end

# source://rubocop//lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb#44 RuboCop::Cop::Lint::UnderscorePrefixedVariableName::MSG = T.let(T.unsafe(nil), String)

# Checks for a block that is known to need more positional # block arguments than are given (by default this is configured for # ‘Enumerable` methods needing 2 arguments). Optional arguments are allowed, # although they don’t generally make sense as the default value will # be used. Blocks that have no receiver, or take splatted arguments # (ie. ‘*args`) are always accepted. # # Keyword arguments (including `**kwargs`) do not get counted towards # this, as they are not used by the methods in question. # # Method names and their expected arity can be configured like this: # # [source,yaml] # —- # Methods: # inject: 2 # reduce: 2 # —- # # @example # # bad # values.reduce {} # values.min { |a| a } # values.sort { |a; b| a + b } # # # good # values.reduce { |memo, obj| memo << obj } # values.min { |a, b| a <=> b } # values.sort { |*x| x <=> x } # # source://rubocop//lib/rubocop/cop/lint/unexpected_block_arity.rb#41 class RuboCop::Cop::Lint::UnexpectedBlockArity < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/unexpected_block_arity.rb#44
def on_block(node); end

# source://rubocop//lib/rubocop/cop/lint/unexpected_block_arity.rb#44
def on_numblock(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unexpected_block_arity.rb#63
def acceptable?(node); end

# source://rubocop//lib/rubocop/cop/lint/unexpected_block_arity.rb#75
def arg_count(node); end

# source://rubocop//lib/rubocop/cop/lint/unexpected_block_arity.rb#71
def expected_arity(method); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unexpected_block_arity.rb#67
def included_method?(name); end

# source://rubocop//lib/rubocop/cop/lint/unexpected_block_arity.rb#59
def methods; end

end

# source://rubocop//lib/rubocop/cop/lint/unexpected_block_arity.rb#42 RuboCop::Cop::Lint::UnexpectedBlockArity::MSG = T.let(T.unsafe(nil), String)

# Checks for using Fixnum or Bignum constant. # # @example # # # bad # # 1.is_a?(Fixnum) # 1.is_a?(Bignum) # @example # # # good # # 1.is_a?(Integer) # # source://rubocop//lib/rubocop/cop/lint/unified_integer.rb#20 class RuboCop::Cop::Lint::UnifiedInteger < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/unified_integer.rb#26
def fixnum_or_bignum_const(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/unified_integer.rb#30
def on_const(node); end

end

# source://rubocop//lib/rubocop/cop/lint/unified_integer.rb#23 RuboCop::Cop::Lint::UnifiedInteger::MSG = T.let(T.unsafe(nil), String)

# Looks for ‘reduce` or `inject` blocks where the value returned (implicitly or # explicitly) does not include the accumulator. A block is considered valid as # long as at least one return value includes the accumulator. # # If the accumulator is not included in the return value, then the entire # block will just return a transformation of the last element value, and # could be rewritten as such without a loop. # # Also catches instances where an index of the accumulator is returned, as # this may change the type of object being retained. # # NOTE: For the purpose of reducing false positives, this cop only flags # returns in `reduce` blocks where the element is the only variable in # the expression (since we will not be able to tell what other variables # relate to via static analysis). # # @example # # # bad # (1..4).reduce(0) do |acc, el| # el * 2 # end # # # bad, may raise a NoMethodError after the first iteration # %w(a b c).reduce({}) do |acc, letter| # acc = true # end # # # good # (1..4).reduce(0) do |acc, el| # acc + el * 2 # end # # # good, element is returned but modified using the accumulator # values.reduce do |acc, el| # el << acc # el # end # # # good, returns the accumulator instead of the index # %w(a b c).reduce({}) do |acc, letter| # acc = true # acc # end # # # good, at least one branch returns the accumulator # values.reduce(nil) do |result, value| # break result if something? # value # end # # # good, recursive # keys.reduce(self) { |result, key| result } # # # ignored as the return value cannot be determined # enum.reduce do |acc, el| # x = foo(acc, el) # bar(x) # end # # source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#65 class RuboCop::Cop::Lint::UnmodifiedReduceAccumulator < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#78
def accumulator_index?(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#83
def element_modified?(param0, param1); end

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#104
def expression_values(param0); end

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#93
def lvar_used?(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#115
def on_block(node); end

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#115
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#70
def reduce_with_block?(param0 = T.unsafe(nil)); end

private

# Determine if a return value is acceptable for the purposes of this cop
# If it is an expression containing the accumulator, it is acceptable
# Otherwise, it is only unacceptable if it contains the iterated element, since we
# otherwise do not have enough information to prevent false positives.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#190
def acceptable_return?(return_val, element_name); end

# Exclude `begin` nodes inside a `dstr` from being collected by `return_values`
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#198
def allowed_type?(parent_node); end

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#158
def block_arg_name(node, index); end

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#141
def check_return_values(block_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#175
def potential_offense?(return_values, block_body, element_name, accumulator_name); end

# Return values in a block are either the value given to next,
# the last line of a multiline block, or the only line of the block
#
# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#127
def return_values(block_body_node); end

# Look for an index of the accumulator being returned, except where the index
# is the element.
# This is always an offense, in order to try to catch potential exceptions
# due to type mismatches
#
# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#166
def returned_accumulator_index(return_values, accumulator_name, element_name); end

# If the accumulator is used in any return value, the node is acceptable since
# the accumulator has a chance to change each iteration
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#182
def returns_accumulator_anywhere?(return_values, accumulator_name); end

end

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#66 RuboCop::Cop::Lint::UnmodifiedReduceAccumulator::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb#67 RuboCop::Cop::Lint::UnmodifiedReduceAccumulator::MSG_INDEX = T.let(T.unsafe(nil), String)

# Checks for unreachable code. # The check are based on the presence of flow of control # statement in non-final position in ‘begin` (implicit) blocks. # # @example # # # bad # # def some_method # return # do_something # end # # # bad # # def some_method # if cond # return # else # return # end # do_something # end # @example # # # good # # def some_method # do_something # end # # source://rubocop//lib/rubocop/cop/lint/unreachable_code.rb#37 class RuboCop::Cop::Lint::UnreachableCode < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/unreachable_code.rb#55
def flow_command?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_code.rb#40
def on_begin(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_code.rb#40
def on_kwbegin(node); end

private

# source://rubocop//lib/rubocop/cop/lint/unreachable_code.rb#87
def check_case(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_code.rb#81
def check_if(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unreachable_code.rb#65
def flow_expression?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/unreachable_code.rb#38 RuboCop::Cop::Lint::UnreachableCode::MSG = T.let(T.unsafe(nil), String)

# Checks for loops that will have at most one iteration. # # A loop that can never reach the second iteration is a possible error in the code. # In rare cases where only one iteration (or at most one iteration) is intended behavior, # the code should be refactored to use ‘if` conditionals. # # NOTE: Block methods that are used with “Enumerable“s are considered to be loops. # # `AllowedPatterns` can be used to match against the block receiver in order to allow # code that would otherwise be registered as an offense (eg. `times` used not in an # `Enumerable` context). # # @example # # bad # while node # do_something(node) # node = node.parent # break # end # # # good # while node # do_something(node) # node = node.parent # end # # # bad # def verify_list(head) # item = head # begin # if verify(item) # return true # else # return false # end # end while(item) # end # # # good # def verify_list(head) # item = head # begin # if verify(item) # item = item.next # else # return false # end # end while(item) # # true # end # # # bad # def find_something(items) # items.each do |item| # if something?(item) # return item # else # raise NotFoundError # end # end # end # # # good # def find_something(items) # items.each do |item| # if something?(item) # return item # end # end # raise NotFoundError # end # # # bad # 2.times { raise ArgumentError } # @example AllowedPatterns: [’(exactly|at_least|at_most)(d+).times’] (default) # # # good # exactly(2).times { raise StandardError } # # source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#86 class RuboCop::Cop::Lint::UnreachableLoop < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedPattern

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#143
def break_command?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#100
def on_block(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#92
def on_for(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#104
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#92
def on_until(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#92
def on_until_post(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#92
def on_while(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#92
def on_while_post(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#153
def break_statement?(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#119
def check(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#176
def check_case(node); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#170
def check_if(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#194
def conditional_continue_keyword?(break_statement); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#110
def loop_method?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#184
def preceded_by_continue_statement?(break_statement); end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#130
def statements(node); end

end

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#90 RuboCop::Cop::Lint::UnreachableLoop::CONTINUE_KEYWORDS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/unreachable_loop.rb#89 RuboCop::Cop::Lint::UnreachableLoop::MSG = T.let(T.unsafe(nil), String)

# Common functionality for cops handling unused arguments. # # source://rubocop//lib/rubocop/cop/mixin/unused_argument.rb#7 module RuboCop::Cop::Lint::UnusedArgument

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/unused_argument.rb#10
def after_leaving_scope(scope, _variable_table); end

private

# source://rubocop//lib/rubocop/cop/mixin/unused_argument.rb#16
def check_argument(variable); end

end

# Checks for unused block arguments. # # @example # # bad # do_something do |used, unused| # puts used # end # # do_something do |bar| # puts :foo # end # # define_method(:foo) do |bar| # puts :baz # end # # # good # do_something do |used, _unused| # puts used # end # # do_something do # puts :foo # end # # define_method(:foo) do |_bar| # puts :baz # end # @example IgnoreEmptyBlocks: true (default) # # good # do_something { |unused| } # @example IgnoreEmptyBlocks: false # # bad # do_something { |unused| } # @example AllowUnusedKeywordArguments: false (default) # # bad # do_something do |unused: 42| # foo # end # @example AllowUnusedKeywordArguments: true # # good # do_something do |unused: 42| # foo # end # # source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#55 class RuboCop::Cop::Lint::UnusedBlockArgument < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Lint::UnusedArgument
extend ::RuboCop::Cop::AutoCorrector

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#162
def allow_unused_keyword_arguments?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#81
def allowed_block?(variable); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#85
def allowed_keyword_argument?(variable); end

# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#99
def augment_message(message, variable); end

# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#65
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#69
def check_argument(variable); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#149
def define_method_call?(variable); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#156
def empty_block?(variable); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#166
def ignore_empty_blocks?; end

# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#89
def message(variable); end

# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#132
def message_for_lambda(variable, all_arguments); end

# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#120
def message_for_normal_block(variable, all_arguments); end

# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#144
def message_for_underscore_prefix(variable); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#77
def used_block_local?(variable); end

# source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#112
def variable_type(variable); end

class << self
  # source://rubocop//lib/rubocop/cop/lint/unused_block_argument.rb#59
  def joining_forces; end
end

end

# Checks for unused method arguments. # # @example # # bad # def some_method(used, unused, _unused_but_allowed) # puts used # end # # # good # def some_method(used, _unused, _unused_but_allowed) # puts used # end # @example AllowUnusedKeywordArguments: false (default) # # bad # def do_something(used, unused: 42) # used # end # @example AllowUnusedKeywordArguments: true # # good # def do_something(used, unused: 42) # used # end # @example IgnoreEmptyMethods: true (default) # # good # def do_something(unused) # end # @example IgnoreEmptyMethods: false # # bad # def do_something(unused) # end # @example IgnoreNotImplementedMethods: true (default) # # good # def do_something(unused) # raise NotImplementedError # end # # def do_something_else(unused) # fail “TODO” # end # @example IgnoreNotImplementedMethods: false # # bad # def do_something(unused) # raise NotImplementedError # end # # def do_something_else(unused) # fail “TODO” # end # # source://rubocop//lib/rubocop/cop/lint/unused_method_argument.rb#61 class RuboCop::Cop::Lint::UnusedMethodArgument < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Lint::UnusedArgument
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/unused_method_argument.rb#66
def not_implemented?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/lint/unused_method_argument.rb#81
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/unused_method_argument.rb#85
def check_argument(variable); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/unused_method_argument.rb#93
def ignored_method?(body); end

# source://rubocop//lib/rubocop/cop/lint/unused_method_argument.rb#98
def message(variable); end

class << self
  # source://rubocop-performance/1.21.0/lib/rubocop-performance.rb#15
  def autocorrect_incompatible_with; end

  # source://rubocop//lib/rubocop/cop/lint/unused_method_argument.rb#75
  def joining_forces; end
end

end

# Identifies places where ‘URI.escape` can be replaced by # `CGI.escape`, `URI.encode_www_form`, or `URI.encode_www_form_component` # depending on your specific use case. # Also this cop identifies places where `URI.unescape` can be replaced by # `CGI.unescape`, `URI.decode_www_form`, # or `URI.decode_www_form_component` depending on your specific use case. # # @example # # bad # URI.escape(’example.com’) # URI.encode(‘example.com’) # # # good # CGI.escape(‘example.com’) # URI.encode_www_form([[‘example’, ‘param’], [‘lang’, ‘en’]]) # URI.encode_www_form(page: 10, locale: ‘en’) # URI.encode_www_form_component(‘example.com’) # # # bad # URI.unescape(enc_uri) # URI.decode(enc_uri) # # # good # CGI.unescape(enc_uri) # URI.decode_www_form(enc_uri) # URI.decode_www_form_component(enc_uri) # # source://rubocop//lib/rubocop/cop/lint/uri_escape_unescape.rb#32 class RuboCop::Cop::Lint::UriEscapeUnescape < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/uri_escape_unescape.rb#57
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/uri_escape_unescape.rb#51
def uri_escape_unescape?(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/lint/uri_escape_unescape.rb#33 RuboCop::Cop::Lint::UriEscapeUnescape::ALTERNATE_METHODS_OF_URI_ESCAPE = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/uri_escape_unescape.rb#38 RuboCop::Cop::Lint::UriEscapeUnescape::ALTERNATE_METHODS_OF_URI_UNESCAPE = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/uri_escape_unescape.rb#47 RuboCop::Cop::Lint::UriEscapeUnescape::METHOD_NAMES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/uri_escape_unescape.rb#44 RuboCop::Cop::Lint::UriEscapeUnescape::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/uri_escape_unescape.rb#48 RuboCop::Cop::Lint::UriEscapeUnescape::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Identifies places where ‘URI.regexp` is obsolete and should # not be used. Instead, use `URI::DEFAULT_PARSER.make_regexp`. # # @example # # bad # URI.regexp(’example.com’) # # # good # URI::DEFAULT_PARSER.make_regexp(‘example.com’) # # source://rubocop//lib/rubocop/cop/lint/uri_regexp.rb#16 class RuboCop::Cop::Lint::UriRegexp < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/uri_regexp.rb#23
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/lint/uri_regexp.rb#19 RuboCop::Cop::Lint::UriRegexp::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/uri_regexp.rb#21 RuboCop::Cop::Lint::UriRegexp::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/uri_regexp.rb#20 RuboCop::Cop::Lint::UriRegexp::URI_CONSTANTS = T.let(T.unsafe(nil), Array)

# Checks for redundant access modifiers, including those with no # code, those which are repeated, and leading ‘public` modifiers in a # class or module body. Conditionally-defined methods are considered as # always being defined, and thus access modifiers guarding such methods # are not redundant. # # This cop has `ContextCreatingMethods` option. The default setting value # is an empty array that means no method is specified. # This setting is an array of methods which, when called, are known to # create its own context in the module’s current access context. # # It also has ‘MethodCreatingMethods` option. The default setting value # is an empty array that means no method is specified. # This setting is an array of methods which, when called, are known to # create other methods in the module’s current access context. # # @example # # bad # class Foo # public # this is redundant (default access is public) # # def method # end # end # # # bad # class Foo # # The following is redundant (methods defined on the class’ # # singleton class are not affected by the private modifier) # private # # def self.method3 # end # end # # # bad # class Foo # protected # # define_method(:method2) do # end # # protected # this is redundant (repeated from previous modifier) # # [1,2,3].each do |i| # define_method(“foo#{i}”) do # end # end # end # # # bad # class Foo # private # this is redundant (no following methods are defined) # end # # # good # class Foo # private # this is not redundant (a method is defined) # # def method2 # end # end # # # good # class Foo # # The following is not redundant (conditionally defined methods are # # considered as always defining a method) # private # # if condition? # def method # end # end # end # # # good # class Foo # protected # this is not redundant (a method is defined) # # define_method(:method2) do # end # end # @example ContextCreatingMethods: concerning # # Lint/UselessAccessModifier: # # ContextCreatingMethods: # # - concerning # # # good # require ‘active_support/concern’ # class Foo # concerning :Bar do # def some_public_method # end # # private # # def some_private_method # end # end # # # this is not redundant because ‘concerning` created its own context # private # # def some_other_private_method # end # end # @example MethodCreatingMethods: delegate # # Lint/UselessAccessModifier: # # MethodCreatingMethods: # # - delegate # # # good # require ’active_support/core_ext/module/delegation’ # class Foo # # this is not redundant because ‘delegate` creates methods # private # # delegate :method_a, to: :method_b # end # # source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#127 class RuboCop::Cop::Lint::UselessAccessModifier < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#166
def class_or_instance_eval?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#161
def dynamic_method_definition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#139
def on_block(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#133
def on_class(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#133
def on_module(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#139
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#133
def on_sclass(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#156
def static_method_definition?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#182
def access_modifier?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#280
def any_context_creating_methods?(child); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#257
def any_method_definition?(child); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#149
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#196
def check_child_nodes(node, unused, cur_vis); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#226
def check_new_visibility(node, unused, new_vis, cur_vis); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#170
def check_node(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#186
def check_scope(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#215
def check_send_node(node, cur_vis, unused); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#274
def eval_call?(child); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#247
def included_block?(block_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#251
def method_definition?(child); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#270
def start_of_new_scope?(child); end

end

# source://rubocop//lib/rubocop/cop/lint/useless_access_modifier.rb#131 RuboCop::Cop::Lint::UselessAccessModifier::MSG = T.let(T.unsafe(nil), String)

# Checks for every useless assignment to local variable in every # scope. # The basic idea for this cop was from the warning of ‘ruby -cw`: # # [source,console] # —- # assigned but unused variable - foo # —- # # Currently this cop has advanced logic that detects unreferenced # reassignments and properly handles varied cases such as branch, loop, # rescue, ensure, etc. # # NOTE: Given the assignment `foo = 1, bar = 2`, removing unused variables # can lead to a syntax error, so this case is not autocorrected. # # @example # # # bad # # def some_method # some_var = 1 # do_something # end # @example # # # good # # def some_method # some_var = 1 # do_something(some_var) # end # # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#45 class RuboCop::Cop::Lint::UselessAssignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#56
def after_leaving_scope(scope, _variable_table); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#162
def autocorrect(corrector, assignment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#103
def chained_assignment?(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#61
def check_for_unused_assignments(variable); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#146
def collect_variable_like_names(scope); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#79
def message_for_useless_assignment(assignment); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#107
def message_specification(assignment, variable); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#117
def multiple_assignment_message(variable_name); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#85
def offense_range(assignment); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#122
def operator_assignment_message(scope, assignment); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#179
def remove_exception_assignment_part(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#203
def remove_local_variable_assignment_part(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#192
def remove_trailing_character_from_operator(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#188
def rename_variable_with_underscore(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#196
def replace_named_capture_group_with_non_capturing_group(corrector, node, variable_name); end

# TODO: More precise handling (rescue, ensure, nested begin, etc.)
#
# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#136
def return_value_node_of_scope(scope); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#93
def sequential_assignment?(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#129
def similar_name_message(variable); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#155
def variable_like_method_invocation?(node); end

class << self
  # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#52
  def joining_forces; end
end

end

# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#50 RuboCop::Cop::Lint::UselessAssignment::MSG = T.let(T.unsafe(nil), String)

# Checks for useless ‘else` in `begin..end` without `rescue`. # # NOTE: This syntax is no longer valid on Ruby 2.6 or higher. # # @example # # # bad # # begin # do_something # else # do_something_else # This will never be run. # end # @example # # # good # # begin # do_something # rescue # handle_errors # else # do_something_else # end # # source://rubocop//lib/rubocop/cop/lint/useless_else_without_rescue.rb#31 class RuboCop::Cop::Lint::UselessElseWithoutRescue < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/useless_else_without_rescue.rb#34
def on_new_investigation; end

end

# source://rubocop//lib/rubocop/cop/lint/useless_else_without_rescue.rb#32 RuboCop::Cop::Lint::UselessElseWithoutRescue::MSG = T.let(T.unsafe(nil), String)

# Checks for useless method definitions, specifically: empty constructors # and methods just delegating to ‘super`. # # @example # # bad # def initialize # super # end # # def method # super # end # # # good - with default arguments # def initialize(x = Object.new) # super # end # # # good # def initialize # super # initialize_internals # end # # def method(*args) # super(:extra_arg, *args) # end # # source://rubocop//lib/rubocop/cop/lint/useless_method_definition.rb#38 class RuboCop::Cop::Lint::UselessMethodDefinition < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/useless_method_definition.rb#43
def on_def(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_method_definition.rb#43
def on_defs(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_method_definition.rb#65
def delegating?(node, def_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_method_definition.rb#57
def method_definition_with_modifier?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_method_definition.rb#61
def use_rest_or_optional_args?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/useless_method_definition.rb#41 RuboCop::Cop::Lint::UselessMethodDefinition::MSG = T.let(T.unsafe(nil), String)

# Checks for useless ‘rescue`s, which only reraise rescued exceptions. # # @example # # bad # def foo # do_something # rescue # raise # end # # # bad # def foo # do_something # rescue => e # raise # or ’raise e’, or ‘raise $!’, or ‘raise $ERROR_INFO’ # end # # # good # def foo # do_something # rescue # do_cleanup # raise # end # # # bad (latest rescue) # def foo # do_something # rescue ArgumentError # # noop # rescue # raise # end # # # good (not the latest rescue) # def foo # do_something # rescue ArgumentError # raise # rescue # # noop # end # # source://rubocop//lib/rubocop/cop/lint/useless_rescue.rb#49 class RuboCop::Cop::Lint::UselessRescue < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/lint/useless_rescue.rb#52
def on_rescue(node); end

private

# source://rubocop//lib/rubocop/cop/lint/useless_rescue.rb#83
def exception_objects(resbody_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_rescue.rb#60
def only_reraising?(resbody_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_rescue.rb#75
def use_exception_variable_in_ensure?(resbody_node); end

end

# source://rubocop//lib/rubocop/cop/lint/useless_rescue.rb#50 RuboCop::Cop::Lint::UselessRescue::MSG = T.let(T.unsafe(nil), String)

# Looks for ‘ruby2_keywords` calls for methods that do not need it. # # `ruby2_keywords` should only be called on methods that accept an argument splat # (`*args`) but do not explicit keyword arguments (`k:` or `k: true`) or # a keyword splat (`**kwargs`). # # @example # # good (splat argument without keyword arguments) # ruby2_keywords def foo(*args); end # # # bad (no arguments) # ruby2_keywords def foo; end # # # good # def foo; end # # # bad (positional argument) # ruby2_keywords def foo(arg); end # # # good # def foo(arg); end # # # bad (double splatted argument) # ruby2_keywords def foo(**args); end # # # good # def foo(**args); end # # # bad (keyword arguments) # ruby2_keywords def foo(i:, j:); end # # # good # def foo(i:, j:); end # # # bad (splat argument with keyword arguments) # ruby2_keywords def foo(*args, i:, j:); end # # # good # def foo(*args, i:, j:); end # # # bad (splat argument with double splat) # ruby2_keywords def foo(*args, **kwargs); end # # # good # def foo(*args, **kwargs); end # # # bad (ruby2_keywords given a symbol) # def foo; end # ruby2_keywords :foo # # # good # def foo; end # # # bad (ruby2_keywords with dynamic method) # define_method(:foo) { |arg| } # ruby2_keywords :foo # # # good # define_method(:foo) { |arg| } # # source://rubocop//lib/rubocop/cop/lint/useless_ruby2_keywords.rb#66 class RuboCop::Cop::Lint::UselessRuby2Keywords < ::RuboCop::Cop::Base

# Looks for statically or dynamically defined methods with a given name
#
# source://rubocop//lib/rubocop/cop/lint/useless_ruby2_keywords.rb#72
def method_definition(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/lint/useless_ruby2_keywords.rb#79
def on_send(node); end

private

# `ruby2_keywords` is only allowed if there's a `restarg` and no keyword arguments
#
# source://rubocop//lib/rubocop/cop/lint/useless_ruby2_keywords.rb#118
def allowed_arguments(arguments); end

# source://rubocop//lib/rubocop/cop/lint/useless_ruby2_keywords.rb#109
def find_method_definition(node, method_name); end

# source://rubocop//lib/rubocop/cop/lint/useless_ruby2_keywords.rb#91
def inspect_def(node, def_node); end

# source://rubocop//lib/rubocop/cop/lint/useless_ruby2_keywords.rb#97
def inspect_sym(node, sym_node); end

end

# source://rubocop//lib/rubocop/cop/lint/useless_ruby2_keywords.rb#67 RuboCop::Cop::Lint::UselessRuby2Keywords::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/useless_ruby2_keywords.rb#68 RuboCop::Cop::Lint::UselessRuby2Keywords::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for setter call to local variable as the final # expression of a function definition. # # @example # # # bad # # def something # x = Something.new # x.attr = 5 # end # @example # # # good # # def something # x = Something.new # x.attr = 5 # x # end # # source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#35 class RuboCop::Cop::Lint::UselessSetterCall < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#41
def on_def(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#41
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#63
def setter_call_to_local_variable?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#67
def last_expression(body); end

end

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#39 RuboCop::Cop::Lint::UselessSetterCall::ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#38 RuboCop::Cop::Lint::UselessSetterCall::MSG = T.let(T.unsafe(nil), String)

# This class tracks variable assignments in a method body # and if a variable contains object passed as argument at the end of # the method. # # source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#76 class RuboCop::Cop::Lint::UselessSetterCall::MethodVariableTracker

# @return [MethodVariableTracker] a new instance of MethodVariableTracker
#
# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#77
def initialize(body_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#163
def constructor?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#82
def contain_local_object?(variable_name); end

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#152
def process_assignment(asgn_node, rhs_node); end

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#100
def process_assignment_node(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#142
def process_binary_operator_assignment(op_asgn_node); end

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#133
def process_logical_operator_assignment(asgn_node); end

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#114
def process_multiple_assignment(masgn_node); end

# source://rubocop//lib/rubocop/cop/lint/useless_setter_call.rb#92
def scan(node, &block); end

end

# Checks for uses of ‘Integer#times` that will never yield # (when the integer “<= 0“) or that will only ever yield once # (`1.times`). # # @example # # bad # -5.times { do_something } # 0.times { do_something } # 1.times { do_something } # 1.times { |i| do_something(i) } # # # good # do_something # do_something(1) # # source://rubocop//lib/rubocop/cop/lint/useless_times.rb#24 class RuboCop::Cop::Lint::UselessTimes < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#37
def block_arg(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#42
def block_reassigns_arg?(param0, param1); end

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#46
def on_send(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#32
def times_call?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#62
def autocorrect(corrector, count, node, proc_name); end

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#84
def autocorrect_block(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#80
def autocorrect_block_pass(corrector, node, proc_name); end

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#94
def fix_indentation(source, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#72
def never_process?(count, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#106
def own_line?(node); end

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#76
def remove_node(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#28 RuboCop::Cop::Lint::UselessTimes::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/useless_times.rb#29 RuboCop::Cop::Lint::UselessTimes::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for operators, variables, literals, lambda, proc and nonmutating # methods used in void context. # # ‘each` blocks are allowed to prevent false positives. # For example, the expression inside the `each` block below. # It’s not void, especially when the receiver is an ‘Enumerator`: # # [source,ruby] # —- # enumerator = [1, 2, 3].filter # enumerator.each { |item| item >= 2 } #=> [2, 3] # —- # # @example CheckForMethodsWithNoSideEffects: false (default) # # bad # def some_method # some_num * 10 # do_something # end # # def some_method(some_var) # some_var # do_something # end # @example CheckForMethodsWithNoSideEffects: true # # bad # def some_method(some_array) # some_array.sort # do_something(some_array) # end # # # good # def some_method # do_something # some_num * 10 # end # # def some_method(some_var) # do_something # some_var # end # # def some_method(some_array) # some_array.sort! # do_something(some_array) # end # # source://rubocop//lib/rubocop/cop/lint/void.rb#53 class RuboCop::Cop::Lint::Void < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/lint/void.rb#92
def on_begin(node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#82
def on_block(node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#92
def on_kwbegin(node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#82
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/lint/void.rb#217
def autocorrect_nonmutating_send(corrector, node, suggestion); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#213
def autocorrect_void_expression(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#201
def autocorrect_void_op(corrector, node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#99
def check_begin(node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#113
def check_expression(expr); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#151
def check_literal(node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#175
def check_nonmutating(node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#159
def check_self(node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#133
def check_var(node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#167
def check_void_expression(node); end

# source://rubocop//lib/rubocop/cop/lint/void.rb#123
def check_void_op(node, &block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/void.rb#226
def entirely_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/lint/void.rb#193
def in_void_context?(node); end

end

# source://rubocop//lib/rubocop/cop/lint/void.rb#66 RuboCop::Cop::Lint::Void::BINARY_OPERATORS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/void.rb#60 RuboCop::Cop::Lint::Void::CONST_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/void.rb#63 RuboCop::Cop::Lint::Void::EXPRESSION_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/void.rb#61 RuboCop::Cop::Lint::Void::LIT_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/void.rb#77 RuboCop::Cop::Lint::Void::METHODS_REPLACEABLE_BY_EACH = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/void.rb#79 RuboCop::Cop::Lint::Void::NONMUTATING_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/void.rb#70 RuboCop::Cop::Lint::Void::NONMUTATING_METHODS_WITH_BANG_VERSION = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/void.rb#64 RuboCop::Cop::Lint::Void::NONMUTATING_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/void.rb#68 RuboCop::Cop::Lint::Void::OPERATORS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/void.rb#58 RuboCop::Cop::Lint::Void::OP_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/void.rb#62 RuboCop::Cop::Lint::Void::SELF_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/void.rb#67 RuboCop::Cop::Lint::Void::UNARY_OPERATORS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/lint/void.rb#59 RuboCop::Cop::Lint::Void::VAR_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/lint/void.rb#69 RuboCop::Cop::Lint::Void::VOID_CONTEXT_TYPES = T.let(T.unsafe(nil), Array)

# Common functionality for obtaining source ranges from regexp matches # # source://rubocop//lib/rubocop/cop/mixin/match_range.rb#6 module RuboCop::Cop::MatchRange

include ::RuboCop::Cop::RangeHelp

private

# Return a new `Range` covering the first matching group number for each
# match of `regex` inside `range`
#
# source://rubocop//lib/rubocop/cop/mixin/match_range.rb#13
def each_match_range(range, regex); end

# For a `match` inside `range`, return a new `Range` covering the match
#
# source://rubocop//lib/rubocop/cop/mixin/match_range.rb#18
def match_range(range, match); end

end

# Message Annotator class annotates a basic offense message # based on params passed into initializer. # # #=> ‘Cop/CopName: message (example.org/styleguide)’ # # @example # RuboCop::Cop::MessageAnnotator.new( # config, cop_name, cop_config, @options # ).annotate(‘message’) # @see initialize # # source://rubocop//lib/rubocop/cop/message_annotator.rb#15 class RuboCop::Cop::MessageAnnotator

# @option cop_config
# @option cop_config
# @option cop_config
# @option options
# @option options
# @option options
# @option options
# @param config [RuboCop::Config] Check configs for all cops
#   @note Message Annotator specifically checks the
#   following config options for_all_cops
#   :StyleGuideBaseURL [String] URL for styleguide
#   :DisplayStyleGuide [Boolean] Include styleguide and reference URLs
#   :ExtraDetails [Boolean] Include cop details
#   :DisplayCopNames [Boolean] Include cop name
# @param cop_name [String] for specific cop name
# @param cop_config [Hash] configs for specific cop, from config#for_cop
# @param options [Hash, nil] optional
# @return [MessageAnnotator] a new instance of MessageAnnotator
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#47
def initialize(config, cop_name, cop_config, options); end

# Returns the annotated message,
# based on params passed into initializer
#
# @return [String] annotated message
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#58
def annotate(message); end

# Returns the value of attribute config.
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#16
def config; end

# Returns the value of attribute cop_config.
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#16
def cop_config; end

# Returns the value of attribute cop_name.
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#16
def cop_name; end

# Returns the value of attribute options.
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#16
def options; end

# source://rubocop//lib/rubocop/cop/message_annotator.rb#68
def urls; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#111
def debug?; end

# source://rubocop//lib/rubocop/cop/message_annotator.rb#124
def details; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#115
def display_cop_names?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#98
def display_style_guide?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#107
def extra_details?; end

# source://rubocop//lib/rubocop/cop/message_annotator.rb#102
def reference_urls; end

# Returns the base style guide URL from AllCops or the specific department
#
# @return [String] style guide URL
#
# source://rubocop//lib/rubocop/cop/message_annotator.rb#91
def style_guide_base_url; end

# source://rubocop//lib/rubocop/cop/message_annotator.rb#74
def style_guide_url; end

class << self
  # Returns the value of attribute style_guide_urls.
  #
  # source://rubocop//lib/rubocop/cop/message_annotator.rb#21
  def style_guide_urls; end
end

end

# This module handles measurement and reporting of complexity in methods. # # @api private # # source://rubocop//lib/rubocop/cop/mixin/method_complexity.rb#8 module RuboCop::Cop::MethodComplexity

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::Metrics::Utils::RepeatedCsendDiscount
extend ::RuboCop::AST::NodePattern::Macros
extend ::RuboCop::ExcludeLimit

# source://rubocop//lib/rubocop/cop/mixin/method_complexity.rb#37
def define_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/exclude_limit.rb#11
def max=(value); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/method_complexity.rb#24
def on_block(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/method_complexity.rb#17
def on_def(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/method_complexity.rb#17
def on_defs(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/method_complexity.rb#24
def on_numblock(node); end

private

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/method_complexity.rb#42
def check_complexity(node, method_name); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/method_complexity.rb#61
def complexity(body); end

# @api private
#
# source://rubocop//lib/rubocop/cop/mixin/method_complexity.rb#73
def location(node); end

end

# Common code for cops that deal with preferred methods. # # source://rubocop//lib/rubocop/cop/mixin/method_preference.rb#6 module RuboCop::Cop::MethodPreference

private

# source://rubocop//lib/rubocop/cop/mixin/method_preference.rb#25
def default_cop_config; end

# source://rubocop//lib/rubocop/cop/mixin/method_preference.rb#9
def preferred_method(method); end

# source://rubocop//lib/rubocop/cop/mixin/method_preference.rb#13
def preferred_methods; end

end

# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb#5 module RuboCop::Cop::Metrics; end

# Checks that the ABC size of methods is not higher than the # configured maximum. The ABC size is based on assignments, branches # (method calls), and conditions. See c2.com/cgi/wiki?AbcMetric # and en.wikipedia.org/wiki/ABC_Software_Metric. # # Interpreting ABC size: # # * “<= 17“ satisfactory # * ‘18..30` unsatisfactory # * `>` 30 dangerous # # You can have repeated “attributes” calls count as a single “branch”. # For this purpose, attributes are any method with no argument; no attempt # is meant to distinguish actual `attr_reader` from other methods. # # This cop also takes into account `AllowedMethods` (defaults to `[]`) # And `AllowedPatterns` (defaults to `[]`) # # @example CountRepeatedAttributes: false (default is true) # # # `model` and `current_user`, referenced 3 times each, # # are each counted as only 1 branch each if # # `CountRepeatedAttributes` is set to ’false’ # # def search # @posts = model.active.visible_by(current_user) # .search(params) # @posts = model.some_process(@posts, current_user) # @posts = model.another_process(@posts, current_user) # # render ‘pages/search/page’ # end # # source://rubocop//lib/rubocop/cop/metrics/abc_size.rb#39 class RuboCop::Cop::Metrics::AbcSize < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::Metrics::Utils::RepeatedCsendDiscount
include ::RuboCop::Cop::MethodComplexity

private

# source://rubocop//lib/rubocop/cop/metrics/abc_size.rb#47
def complexity(node); end

end

# source://rubocop//lib/rubocop/cop/metrics/abc_size.rb#42 RuboCop::Cop::Metrics::AbcSize::MSG = T.let(T.unsafe(nil), String)

# Checks if the length of a block exceeds some maximum value. # Comment lines can optionally be ignored. # The maximum allowed length is configurable. # The cop can be configured to ignore blocks passed to certain methods. # # You can set constructs you want to fold with ‘CountAsOne`. # Available are: ’array’, ‘hash’, ‘heredoc’, and ‘method_call’. Each construct # will be counted as one line regardless of its actual size. # # NOTE: This cop does not apply for ‘Struct` definitions. # # NOTE: The `ExcludedMethods` configuration is deprecated and only kept # for backwards compatibility. Please use `AllowedMethods` and `AllowedPatterns` # instead. By default, there are no methods to allowed. # # @example CountAsOne: [’array’, ‘heredoc’, ‘method_call’] # # something do # array = [ # +1 # 1, # 2 # ] # # hash = { # +3 # key: ‘value’ # } # # msg = <<~HEREDOC # +1 # Heredoc # content. # HEREDOC # # foo( # +1 # 1, # 2 # ) # end # 6 points # # source://rubocop//lib/rubocop/cop/metrics/block_length.rb#44 class RuboCop::Cop::Metrics::BlockLength < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CodeLength
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern

# source://rubocop//lib/rubocop/cop/metrics/block_length.rb#51
def on_block(node); end

# source://rubocop//lib/rubocop/cop/metrics/block_length.rb#51
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/metrics/block_length.rb#80
def cop_label; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/block_length.rb#62
def method_receiver_excluded?(node); end

end

# source://rubocop//lib/rubocop/cop/metrics/block_length.rb#49 RuboCop::Cop::Metrics::BlockLength::LABEL = T.let(T.unsafe(nil), String)

# Checks for excessive nesting of conditional and looping # constructs. # # You can configure if blocks are considered using the ‘CountBlocks` # option. When set to `false` (the default) blocks are not counted # towards the nesting level. Set to `true` to count blocks as well. # # The maximum level of nesting allowed is configurable. # # source://rubocop//lib/rubocop/cop/metrics/block_nesting.rb#14 class RuboCop::Cop::Metrics::BlockNesting < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/exclude_limit.rb#11
def max=(value); end

# source://rubocop//lib/rubocop/cop/metrics/block_nesting.rb#19
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/metrics/block_nesting.rb#28
def check_nesting_level(node, max, current_level); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/block_nesting.rb#44
def consider_node?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/block_nesting.rb#54
def count_blocks?; end

# source://rubocop//lib/rubocop/cop/metrics/block_nesting.rb#50
def message(max); end

end

# source://rubocop//lib/rubocop/cop/metrics/block_nesting.rb#15 RuboCop::Cop::Metrics::BlockNesting::NESTING_BLOCKS = T.let(T.unsafe(nil), Array)

# Checks if the length of a class exceeds some maximum value. # Comment lines can optionally be ignored. # The maximum allowed length is configurable. # # You can set constructs you want to fold with ‘CountAsOne`. # Available are: ’array’, ‘hash’, ‘heredoc’, and ‘method_call’. Each construct # will be counted as one line regardless of its actual size. # # NOTE: This cop also applies for ‘Struct` definitions. # # @example CountAsOne: [’array’, ‘heredoc’, ‘method_call’] # # class Foo # ARRAY = [ # +1 # 1, # 2 # ] # # HASH = { # +3 # key: ‘value’ # } # # MSG = <<~HEREDOC # +1 # Heredoc # content. # HEREDOC # # foo( # +1 # 1, # 2 # ) # end # 6 points # # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#39 class RuboCop::Cop::Metrics::ClassLength < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CodeLength

# source://rubocop//lib/rubocop/cop/metrics/class_length.rb#52
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/metrics/class_length.rb#42
def on_class(node); end

# source://rubocop//lib/rubocop/cop/metrics/class_length.rb#46
def on_sclass(node); end

private

# source://rubocop//lib/rubocop/cop/metrics/class_length.rb#70
def message(length, max_length); end

end

# Checks for literals with extremely many entries. This is indicative of # configuration or data that may be better extracted somewhere else, like # a database, fetched from an API, or read from a non-code file (CSV, # JSON, YAML, etc.). # # @example # # bad # # Huge Array literal # [1, 2, ‘…’, 999_999_999] # # # bad # # Huge Hash literal # { 1 => 1, 2 => 2, ‘…’ => ‘…’, 999_999_999 => 999_999_999} # # # bad # # Huge Set “literal” # Set[1, 2, ‘…’, 999_999_999] # # # good # # Reasonably sized Array literal # [1, 2, ‘…’, 10] # # # good # # Reading huge Array from external data source # # File.readlines(‘numbers.txt’, chomp: true).map!(&:to_i) # # # good # # Reasonably sized Hash literal # { 1 => 1, 2 => 2, ‘…’ => ‘…’, 10 => 10} # # # good # # Reading huge Hash from external data source # CSV.foreach(‘numbers.csv’, headers: true).each_with_object({}) do |row, hash| # hash[row.to_i] = row.to_i # end # # # good # # Reasonably sized Set “literal” # Set[1, 2, ‘…’, 10] # # # good # # Reading huge Set from external data source # SomeFramework.config_for(:something).to_set # # source://rubocop//lib/rubocop/cop/metrics/collection_literal_length.rb#50 class RuboCop::Cop::Metrics::CollectionLiteralLength < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/metrics/collection_literal_length.rb#55
def on_array(node); end

# source://rubocop//lib/rubocop/cop/metrics/collection_literal_length.rb#55
def on_hash(node); end

# source://rubocop//lib/rubocop/cop/metrics/collection_literal_length.rb#60
def on_index(node); end

# source://rubocop//lib/rubocop/cop/metrics/collection_literal_length.rb#64
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/metrics/collection_literal_length.rb#70
def collection_threshold; end

end

# source://rubocop//lib/rubocop/cop/metrics/collection_literal_length.rb#51 RuboCop::Cop::Metrics::CollectionLiteralLength::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/metrics/collection_literal_length.rb#53 RuboCop::Cop::Metrics::CollectionLiteralLength::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks that the cyclomatic complexity of methods is not higher # than the configured maximum. The cyclomatic complexity is the number of # linearly independent paths through a method. The algorithm counts # decision points and adds one. # # An if statement (or unless or ?:) increases the complexity by one. An # else branch does not, since it doesn’t add a decision point. The && # operator (or keyword and) can be converted to a nested if statement, # and ||/or is shorthand for a sequence of ifs, so they also add one. # Loops can be said to have an exit condition, so they add one. # Blocks that are calls to builtin iteration methods # (e.g. ‘ary.map{…}) also add one, others are ignored. # # def each_child_node(*types) # count begins: 1 # unless block_given? # unless: +1 # return to_enum(__method__, *types) # # children.each do |child| # each{}: +1 # next unless child.is_a?(Node) # unless: +1 # # yield child if types.empty? || # if: +1, ||: +1 # types.include?(child.type) # end # # self # end # total: 6 # # source://rubocop//lib/rubocop/cop/metrics/cyclomatic_complexity.rb#32 class RuboCop::Cop::Metrics::CyclomaticComplexity < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::Metrics::Utils::RepeatedCsendDiscount
include ::RuboCop::Cop::MethodComplexity
include ::RuboCop::Cop::Metrics::Utils::IteratingBlock

private

# source://rubocop//lib/rubocop/cop/metrics/cyclomatic_complexity.rb#42
def complexity_score_for(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/cyclomatic_complexity.rb#49
def count_block?(block); end

end

# source://rubocop//lib/rubocop/cop/metrics/cyclomatic_complexity.rb#37 RuboCop::Cop::Metrics::CyclomaticComplexity::COUNTED_NODES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/metrics/cyclomatic_complexity.rb#36 RuboCop::Cop::Metrics::CyclomaticComplexity::MSG = T.let(T.unsafe(nil), String)

# Checks if the length of a method exceeds some maximum value. # Comment lines can optionally be allowed. # The maximum allowed length is configurable. # # You can set constructs you want to fold with ‘CountAsOne`. # Available are: ’array’, ‘hash’, ‘heredoc’, and ‘method_call’. Each construct # will be counted as one line regardless of its actual size. # # NOTE: The ‘ExcludedMethods` and `IgnoredMethods` configuration is # deprecated and only kept for backwards compatibility. # Please use `AllowedMethods` and `AllowedPatterns` instead. # By default, there are no methods to allowed. # # @example CountAsOne: [’array’, ‘heredoc’, ‘method_call’] # # def m # array = [ # +1 # 1, # 2 # ] # # hash = { # +3 # key: ‘value’ # } # # <<~HEREDOC # +1 # Heredoc # content. # HEREDOC # # foo( # +1 # 1, # 2 # ) # end # 6 points # # source://rubocop//lib/rubocop/cop/metrics/method_length.rb#42 class RuboCop::Cop::Metrics::MethodLength < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CodeLength
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern

# source://rubocop//lib/rubocop/cop/metrics/method_length.rb#56
def on_block(node); end

# source://rubocop//lib/rubocop/cop/metrics/method_length.rb#49
def on_def(node); end

# source://rubocop//lib/rubocop/cop/metrics/method_length.rb#49
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/metrics/method_length.rb#56
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/metrics/method_length.rb#65
def cop_label; end

end

# source://rubocop//lib/rubocop/cop/metrics/method_length.rb#47 RuboCop::Cop::Metrics::MethodLength::LABEL = T.let(T.unsafe(nil), String)

# Checks if the length of a module exceeds some maximum value. # Comment lines can optionally be ignored. # The maximum allowed length is configurable. # # You can set constructs you want to fold with ‘CountAsOne`. # Available are: ’array’, ‘hash’, ‘heredoc’, and ‘method_call’. Each construct # will be counted as one line regardless of its actual size. # # @example CountAsOne: [‘array’, ‘heredoc’, ‘method_call’] # # module M # ARRAY = [ # +1 # 1, # 2 # ] # # HASH = { # +3 # key: ‘value’ # } # # MSG = <<~HEREDOC # +1 # Heredoc # content. # HEREDOC # # foo( # +1 # 1, # 2 # ) # end # 6 points # # source://rubocop//lib/rubocop/cop/metrics/module_length.rb#37 class RuboCop::Cop::Metrics::ModuleLength < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CodeLength

# source://rubocop//lib/rubocop/cop/metrics/module_length.rb#51
def module_definition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/metrics/module_length.rb#44
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/metrics/module_length.rb#40
def on_module(node); end

private

# source://rubocop//lib/rubocop/cop/metrics/module_length.rb#55
def message(length, max_length); end

end

# Checks for methods with too many parameters. # # The maximum number of parameters is configurable. # Keyword arguments can optionally be excluded from the total count, # as they add less complexity than positional or optional parameters. # # Any number of arguments for ‘initialize` method inside a block of # `Struct.new` and `Data.define` like this is always allowed: # # [source,ruby] # —- # Struct.new(:one, :two, :three, :four, :five, keyword_init: true) do # def initialize(one:, two:, three:, four:, five:) # end # end # —- # # This is because checking the number of arguments of the `initialize` method # does not make sense. # # NOTE: Explicit block argument `&block` is not counted to prevent # erroneous change that is avoided by making block argument implicit. # # This cop also checks for the maximum number of optional parameters. # This can be configured using the `MaxOptionalParameters` config option. # # @example Max: 3 # # good # def foo(a, b, c = 1) # end # @example Max: 2 # # bad # def foo(a, b, c = 1) # end # @example CountKeywordArgs: true (default) # # counts keyword args towards the maximum # # # bad (assuming Max is 3) # def foo(a, b, c, d: 1) # end # # # good (assuming Max is 3) # def foo(a, b, c: 1) # end # @example CountKeywordArgs: false # # don’t count keyword args towards the maximum # # # good (assuming Max is 3) # def foo(a, b, c, d: 1) # end # @example MaxOptionalParameters: 3 (default) # # good # def foo(a = 1, b = 2, c = 3) # end # @example MaxOptionalParameters: 2 # # bad # def foo(a = 1, b = 2, c = 3) # end # # source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#70 class RuboCop::Cop::Metrics::ParameterLists < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#121
def argument_to_lambda_or_proc?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/exclude_limit.rb#11
def max=(value); end

# source://rubocop//lib/rubocop/cop/exclude_limit.rb#11
def max_optional_parameters=(value); end

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#104
def on_args(node); end

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#90
def on_def(node); end

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#90
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#81
def struct_new_or_data_define_block?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#125
def args_count(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#141
def count_keyword_args?; end

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#137
def max_optional_parameters; end

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#133
def max_params; end

end

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#74 RuboCop::Cop::Metrics::ParameterLists::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#77 RuboCop::Cop::Metrics::ParameterLists::NAMED_KEYWORD_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/metrics/parameter_lists.rb#75 RuboCop::Cop::Metrics::ParameterLists::OPTIONAL_PARAMETERS_MSG = T.let(T.unsafe(nil), String)

# Tries to produce a complexity score that’s a measure of the # complexity the reader experiences when looking at a method. For that # reason it considers ‘when` nodes as something that doesn’t add as much # complexity as an ‘if` or a `&&`. Except if it’s one of those special # ‘case`/`when` constructs where there’s no expression after ‘case`. Then # the cop treats it as an `if`/`elsif`/`elsif`… and lets all the `when` # nodes count. In contrast to the CyclomaticComplexity cop, this cop # considers `else` nodes as adding complexity. # # @example # # def my_method # 1 # if cond # 1 # case var # 2 (0.8 + 4 * 0.2, rounded) # when 1 then func_one # when 2 then func_two # when 3 then func_three # when 4..10 then func_other # end # else # 1 # do_something until a && b # 2 # end # === # end # 7 complexity points # # source://rubocop//lib/rubocop/cop/metrics/perceived_complexity.rb#29 class RuboCop::Cop::Metrics::PerceivedComplexity < ::RuboCop::Cop::Metrics::CyclomaticComplexity

private

# source://rubocop//lib/rubocop/cop/metrics/perceived_complexity.rb#36
def complexity_score_for(node); end

end

# source://rubocop//lib/rubocop/cop/metrics/perceived_complexity.rb#32 RuboCop::Cop::Metrics::PerceivedComplexity::COUNTED_NODES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/metrics/perceived_complexity.rb#30 RuboCop::Cop::Metrics::PerceivedComplexity::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb#6 module RuboCop::Cop::Metrics::Utils; end

# > ABC is .. a software size metric .. computed by counting the number # > of assignments, branches and conditions for a section of code. # > c2.com/cgi/wiki?AbcMetric # # We separate the calculator from the cop so that the calculation, # the formula itself, is easier to test. # # source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#13 class RuboCop::Cop::Metrics::Utils::AbcSizeCalculator

include ::RuboCop::AST::Sexp
include ::RuboCop::Cop::Metrics::Utils::RepeatedAttributeDiscount
include ::RuboCop::Cop::Metrics::Utils::IteratingBlock
include ::RuboCop::Cop::Metrics::Utils::RepeatedCsendDiscount

# @return [AbcSizeCalculator] a new instance of AbcSizeCalculator
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#30
def initialize(node, discount_repeated_attributes: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#42
def calculate; end

# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#53
def calculate_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#65
def else_branch?(node); end

# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#47
def evaluate_branch_nodes(node); end

# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#60
def evaluate_condition_node(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#127
def argument?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#86
def assignment?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#123
def branch?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#119
def capturing_variable?(name); end

# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#95
def compound_assignment(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#131
def condition?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#108
def simple_assignment?(node); end

# @yield [node]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#71
def visit_depth_last(node, &block); end

class << self
  # source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#30
  def calculate(node, discount_repeated_attributes: T.unsafe(nil)); end
end

end

# > Branch – an explicit forward program branch out of scope – a # > function call, class method call .. # > c2.com/cgi/wiki?AbcMetric # # source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#21 RuboCop::Cop::Metrics::Utils::AbcSizeCalculator::BRANCH_NODES = T.let(T.unsafe(nil), Array)

# > Condition – a logical/Boolean test, == != <= >= < > else case # > default try catch ? and unary conditionals. # > c2.com/cgi/wiki?AbcMetric # # source://rubocop//lib/rubocop/cop/metrics/utils/abc_size_calculator.rb#26 RuboCop::Cop::Metrics::Utils::AbcSizeCalculator::CONDITION_NODES = T.let(T.unsafe(nil), Array)

# Helps to calculate code length for the provided node. # # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#8 class RuboCop::Cop::Metrics::Utils::CodeLengthCalculator

include ::RuboCop::PathUtil
include ::RuboCop::Cop::Util
extend ::RuboCop::AST::NodePattern::Macros

# @return [CodeLengthCalculator] a new instance of CodeLengthCalculator
#
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#16
def initialize(node, processed_source, count_comments: T.unsafe(nil), foldable_types: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#24
def calculate; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#182
def another_args?(node); end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#42
def build_foldable_checks(types); end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#90
def classlike_code_length(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#138
def classlike_node?(node); end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#66
def code_length(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#163
def count_comments?; end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#126
def each_top_level_descendant(node, types, &block); end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#146
def extract_body(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#142
def foldable_node?(node); end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#121
def heredoc_length(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#86
def heredoc_node?(node); end

# Returns true for lines that shall not be included in the count.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#159
def irrelevant_line?(source_line); end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#110
def line_numbers_of_inner_nodes(node, *types); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#106
def namespace_module?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#186
def node_with_heredoc?(node); end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#60
def normalize_foldable_types(types); end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#167
def omit_length(descendant); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#178
def parenthesized?(node); end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#190
def source_from_node_with_heredoc(node); end

end

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#13 RuboCop::Cop::Metrics::Utils::CodeLengthCalculator::CLASSLIKE_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#12 RuboCop::Cop::Metrics::Utils::CodeLengthCalculator::FOLDABLE_TYPES = T.let(T.unsafe(nil), Array)

# Used to identify iterating blocks like ‘.map{}` and `.map(&:…)` # # source://rubocop//lib/rubocop/cop/metrics/utils/iterating_block.rb#8 module RuboCop::Cop::Metrics::Utils::IteratingBlock

# Returns the name of the method called with a block
# if node is a block node, or a block-pass node.
#
# source://rubocop//lib/rubocop/cop/metrics/utils/iterating_block.rb#37
def block_method_name(node); end

# Returns nil if node is neither a block node or a block-pass node.
# Otherwise returns true/false if method call is a known iterating call
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/iterating_block.rb#53
def iterating_block?(node); end

# Returns true iff name is a known iterating type (e.g. :each, :transform_values)
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/iterating_block.rb#47
def iterating_method?(name); end

end

# source://rubocop//lib/rubocop/cop/metrics/utils/iterating_block.rb#33 RuboCop::Cop::Metrics::Utils::IteratingBlock::KNOWN_ITERATING_METHODS = T.let(T.unsafe(nil), Set)

# Identifies repetitions ‘{c}send` calls with no arguments: # # foo.bar # foo.bar # => repeated # foo.bar.baz.qux # => inner send repeated # foo.bar.baz.other # => both inner send repeated # foo.bar(2) # => not repeated # # It also invalidates sequences if a receiver is reassigned: # # xx.foo.bar # xx.foo.baz # => inner send repeated # self.xx = any # => invalidates everything so far # xx.foo.baz # => no repetition # self.xx.foo.baz # => all repeated # # @api private # # source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#25 module RuboCop::Cop::Metrics::Utils::RepeatedAttributeDiscount

include ::RuboCop::AST::Sexp
extend ::RuboCop::AST::NodePattern::Macros

# Plug into the calculator
#
# @api private
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#30
def initialize(node, discount_repeated_attributes: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#61
def attribute_call?(param0 = T.unsafe(nil)); end

# @api private
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#53
def calculate_node(node); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#43
def discount_repeated_attributes?; end

# @api private
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#47
def evaluate_branch_nodes(node); end

# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#92
def root_node?(param0 = T.unsafe(nil)); end

private

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#66
def discount_repeated_attribute?(send_node); end

# Returns the "known_attributes" for the `node` by walking the receiver tree
# If at any step the subdirectory does not exist, it is yielded with the
# associated key (method_name)
# If the node is not a series of `(c)send` calls with no arguments,
# then `nil` is yielded
#
# @api private
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#103
def find_attributes(node, &block); end

# or `nil` if it is not a setter.
#
# @api private
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#126
def setter_to_getter(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#80
def update_repeated_attribute(node); end

end

# @api private # # source://rubocop//lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb#117 RuboCop::Cop::Metrics::Utils::RepeatedAttributeDiscount::VAR_SETTER_TO_GETTER = T.let(T.unsafe(nil), Hash)

# Identifies repetitions ‘&.` on the same variable: # # my_var&.foo # my_var&.bar # => repeated # my_var = baz # => reset # my_var&.qux # => not repeated # # @api private # # source://rubocop//lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb#15 module RuboCop::Cop::Metrics::Utils::RepeatedCsendDiscount

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb#20
def discount_for_repeated_csend?(csend_node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb#34
def reset_on_lvasgn(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb#16
def reset_repeated_csend; end

end

# source://rubocop//lib/rubocop/cop/migration/department_name.rb#5 module RuboCop::Cop::Migration; end

# department name. # # source://rubocop//lib/rubocop/cop/migration/department_name.rb#8 class RuboCop::Cop::Migration::DepartmentName < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/migration/department_name.rb#21
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/migration/department_name.rb#47
def check_cop_name(name, comment, offset); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/migration/department_name.rb#69
def contain_unexpected_character_for_department_name?(name); end

# source://rubocop//lib/rubocop/cop/migration/department_name.rb#43
def disable_comment_offset; end

# source://rubocop//lib/rubocop/cop/migration/department_name.rb#73
def qualified_legacy_cop_name(cop_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/migration/department_name.rb#63
def valid_content_token?(content_token); end

end

# source://rubocop//lib/rubocop/cop/migration/department_name.rb#14 RuboCop::Cop::Migration::DepartmentName::DISABLE_COMMENT_FORMAT = T.let(T.unsafe(nil), Regexp)

# The token that makes up a disable comment. # ‘DepartmentName/CopName` or` all`. # # source://rubocop//lib/rubocop/cop/migration/department_name.rb#19 RuboCop::Cop::Migration::DepartmentName::DISABLING_COPS_CONTENT_TOKEN = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/migration/department_name.rb#12 RuboCop::Cop::Migration::DepartmentName::MSG = T.let(T.unsafe(nil), String)

# Common functionality for checking minimum body length. # # source://rubocop//lib/rubocop/cop/mixin/min_body_length.rb#6 module RuboCop::Cop::MinBodyLength

private

# source://rubocop//lib/rubocop/cop/mixin/min_body_length.rb#13
def min_body_length; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/min_body_length.rb#9
def min_body_length?(node); end

end

# Common functionality for checking minimum branches count. # # source://rubocop//lib/rubocop/cop/mixin/min_branches_count.rb#6 module RuboCop::Cop::MinBranchesCount

private

# source://rubocop//lib/rubocop/cop/mixin/min_branches_count.rb#29
def if_conditional_branches(node, branches = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/min_branches_count.rb#22
def min_branches_count; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/min_branches_count.rb#9
def min_branches_count?(node); end

end

# Common code for indenting the first elements in multiline # array literals, hash literals, and method definitions. # # source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#7 module RuboCop::Cop::MultilineElementIndentation

private

# source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#42
def check_expected_style(styles); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#26
def check_first(first, left_brace, left_parenthesis, offset); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#80
def detected_styles(actual_column, offset, left_parenthesis, left_brace); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#85
def detected_styles_for_column(column, left_parenthesis, left_brace); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#10
def each_argument_node(node, type); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#66
def hash_pair_where_value_beginning_with(left_brace, first); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#98
def incorrect_style_detected(styles, first, base_column_type); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#50
def indent_base(left_brace, first, left_parenthesis); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#72
def key_and_value_begin_on_same_line?(pair); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_element_indentation.rb#76
def right_sibling_begins_on_subsequent_line?(pair); end

end

# Common functionality for checking for a line break before each # element in a multi-line collection. # # source://rubocop//lib/rubocop/cop/mixin/multiline_element_line_breaks.rb#7 module RuboCop::Cop::MultilineElementLineBreaks

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_element_line_breaks.rb#23
def all_on_same_line?(nodes, ignore_last: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_element_line_breaks.rb#10
def check_line_breaks(_node, children, ignore_last: T.unsafe(nil)); end

end

# Common functionality for checking multiline method calls and binary # operations. # # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#7 module RuboCop::Cop::MultilineExpressionIndentation

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#14
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#14
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#132
def argument_in_method_call(node, kind); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#188
def assignment_rhs(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#65
def check(range, node, lhs, rhs); end

# The correct indentation of `node` is usually `IndentationWidth`, with
# one exception: prefix keywords.
#
# ```
# while foo &&  # Here, `while` is called a "prefix keyword"
#     bar       # This is called "special indentation"
#   baz
# end
# ```
#
# Note that *postfix conditionals* do *not* get "special indentation".
#
# ```
# next if foo &&
#   bar # normal indentation, not special
# ```
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#55
def correct_indentation(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#160
def disqualified_rhs?(candidate, ancestor); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#204
def grouped_expression?(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#73
def incorrect_style_detected(range, node, lhs, rhs); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#85
def indentation(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#122
def indented_keyword_expression(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#208
def inside_arg_list_parentheses?(node, ancestor); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#99
def keyword_message_tail(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#107
def kw_node_with_special_indentation(node); end

# In a chain of method calls, we regard the top call node as the base
# for indentation of all lines following the first. For example:
# a.
#   b c { block }.            <-- b is indented relative to a
#   d                         <-- d is indented relative to a
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#32
def left_hand_side(lhs); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#198
def not_for_this_cop?(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#89
def operation_description(node, rhs); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#146
def part_of_assignment_rhs(node, candidate); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#184
def part_of_block_body?(candidate, block_node); end

# Returns true if `node` is a conditional whose `body` and `condition`
# begin on the same line.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#217
def postfix_conditional?(node); end

# The []= operator and setters (a.b = c) are parsed as :send nodes.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#176
def valid_method_rhs_candidate?(candidate, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#165
def valid_rhs?(candidate, ancestor); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#180
def valid_rhs_candidate?(candidate, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#221
def within_node?(inner, outer); end

end

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#11 RuboCop::Cop::MultilineExpressionIndentation::ASSIGNMENT_MESSAGE_TAIL = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#10 RuboCop::Cop::MultilineExpressionIndentation::DEFAULT_MESSAGE_TAIL = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#8 RuboCop::Cop::MultilineExpressionIndentation::KEYWORD_ANCESTOR_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#12 RuboCop::Cop::MultilineExpressionIndentation::KEYWORD_MESSAGE_TAIL = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#9 RuboCop::Cop::MultilineExpressionIndentation::UNALIGNED_RHS_TYPES = T.let(T.unsafe(nil), Array)

# Autocorrection logic for the closing brace of a literal either # on the same line as the last contained elements, or a new line. # # source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#7 class RuboCop::Cop::MultilineLiteralBraceCorrector

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::MultilineLiteralBraceLayout
include ::RuboCop::Cop::RangeHelp

# @return [MultilineLiteralBraceCorrector] a new instance of MultilineLiteralBraceCorrector
#
# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#15
def initialize(corrector, node, processed_source); end

# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#21
def call; end

private

# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#61
def content_if_comment_present(corrector, node); end

# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#51
def correct_heredoc_argument_method_chain(corrector, end_range); end

# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#46
def correct_next_line_brace(corrector, end_range); end

# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#42
def correct_same_line_brace(corrector); end

# Returns the value of attribute corrector.
#
# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#40
def corrector; end

# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#94
def last_element_range_with_trailing_comma(node); end

# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#103
def last_element_trailing_comma_range(node); end

# Returns the value of attribute node.
#
# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#40
def node; end

# Returns the value of attribute processed_source.
#
# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#40
def processed_source; end

# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#90
def remove_trailing_content_of_comment(corrector, range); end

# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#80
def select_content_to_be_inserted_after_last_element(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#73
def use_heredoc_argument_method_chain?(parent); end

class << self
  # source://rubocop//lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb#11
  def correct(corrector, node, processed_source); end
end

end

# Common functionality for checking the closing brace of a literal is # either on the same line as the last contained elements or a new line. # # source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#7 module RuboCop::Cop::MultilineLiteralBraceLayout

include ::RuboCop::Cop::ConfigurableEnforcedStyle

private

# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#34
def check(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#12
def check_brace_layout(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#42
def check_new_line(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#50
def check_same_line(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#58
def check_symmetrical(node); end

# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#86
def children(node); end

# This method depends on the fact that we have guarded
# against implicit and empty literals.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#98
def closing_brace_on_same_line?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#74
def empty_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#82
def ignored_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#78
def implicit_literal?(node); end

# Starting with the parent node and recursively for the parent node's
# children, check if the node is a HEREDOC and if the HEREDOC ends below
# or on the last line of the parent node.
#
# Example:
#
#   # node is `b: ...` parameter
#   # last_line_heredoc?(node) => false
#   foo(a,
#     b: {
#       a: 1,
#       c: <<-EOM
#         baz
#       EOM
#     }
#   )
#
#   # node is `b: ...` parameter
#   # last_line_heredoc?(node) => true
#   foo(a,
#     b: <<-EOM
#       baz
#     EOM
#   )
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#126
def last_line_heredoc?(node, parent = T.unsafe(nil)); end

# Returns true for the case
#   [a,
#    b # comment
#   ].some_method
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#26
def new_line_needed_before_closing_brace?(node); end

# This method depends on the fact that we have guarded
# against implicit and empty literals.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb#92
def opening_brace_on_same_line?(node); end

end

# source://rubocop//lib/rubocop/cop/naming/accessor_method_name.rb#5 module RuboCop::Cop::Naming; end

# Makes sure that accessor methods are named properly. Applies # to both instance and class methods. # # NOTE: Offenses are only registered for methods with the expected # arity. Getters (‘get_attribute`) must have no arguments to be # registered, and setters (`set_attribute(value)`) must have exactly # one. # # @example # # bad # def set_attribute(value) # end # # # good # def attribute=(value) # end # # # bad # def get_attribute # end # # # good # def attribute # end # # # accepted, incorrect arity for getter # def get_value(attr) # end # # # accepted, incorrect arity for setter # def set_value # end # # source://rubocop//lib/rubocop/cop/naming/accessor_method_name.rb#38 class RuboCop::Cop::Naming::AccessorMethodName < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/naming/accessor_method_name.rb#42
def on_def(node); end

# source://rubocop//lib/rubocop/cop/naming/accessor_method_name.rb#42
def on_defs(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/accessor_method_name.rb#61
def bad_reader_name?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/accessor_method_name.rb#65
def bad_writer_name?(node); end

# source://rubocop//lib/rubocop/cop/naming/accessor_method_name.rb#53
def message(node); end

end

# source://rubocop//lib/rubocop/cop/naming/accessor_method_name.rb#39 RuboCop::Cop::Naming::AccessorMethodName::MSG_READER = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/naming/accessor_method_name.rb#40 RuboCop::Cop::Naming::AccessorMethodName::MSG_WRITER = T.let(T.unsafe(nil), String)

# Checks for non-ascii characters in identifier and constant names. # Identifiers are always checked and whether constants are checked # can be controlled using AsciiConstants config. # # @example # # bad # def καλημερα # Greek alphabet (non-ascii) # end # # # bad # def こんにちはと言う # Japanese character (non-ascii) # end # # # bad # def hello_🍣 # Emoji (non-ascii) # end # # # good # def say_hello # end # # # bad # 신장 = 10 # Hangul character (non-ascii) # # # good # height = 10 # # # bad # params # Arabic character (non-ascii) # # # good # params # @example AsciiConstants: true (default) # # bad # class Foö # end # # FOÖ = “foo” # @example AsciiConstants: false # # good # class Foö # end # # FOÖ = “foo” # # source://rubocop//lib/rubocop/cop/naming/ascii_identifiers.rb#53 class RuboCop::Cop::Naming::AsciiIdentifiers < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/naming/ascii_identifiers.rb#59
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/naming/ascii_identifiers.rb#84
def first_non_ascii_chars(string); end

# source://rubocop//lib/rubocop/cop/naming/ascii_identifiers.rb#74
def first_offense_range(identifier); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/ascii_identifiers.rb#70
def should_check?(token); end

end

# source://rubocop//lib/rubocop/cop/naming/ascii_identifiers.rb#57 RuboCop::Cop::Naming::AsciiIdentifiers::CONSTANT_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/naming/ascii_identifiers.rb#56 RuboCop::Cop::Naming::AsciiIdentifiers::IDENTIFIER_MSG = T.let(T.unsafe(nil), String)

# Makes sure that certain binary operator methods have their # sole parameter named ‘other`. # # @example # # # bad # def +(amount); end # # # good # def +(other); end # # source://rubocop//lib/rubocop/cop/naming/binary_operator_parameter_name.rb#16 class RuboCop::Cop::Naming::BinaryOperatorParameterName < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/naming/binary_operator_parameter_name.rb#29
def on_def(node); end

# source://rubocop//lib/rubocop/cop/naming/binary_operator_parameter_name.rb#25
def op_method_candidate?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/binary_operator_parameter_name.rb#45
def op_method?(name); end

end

# source://rubocop//lib/rubocop/cop/naming/binary_operator_parameter_name.rb#22 RuboCop::Cop::Naming::BinaryOperatorParameterName::EXCLUDED = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/naming/binary_operator_parameter_name.rb#19 RuboCop::Cop::Naming::BinaryOperatorParameterName::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/naming/binary_operator_parameter_name.rb#21 RuboCop::Cop::Naming::BinaryOperatorParameterName::OP_LIKE_METHODS = T.let(T.unsafe(nil), Array)

# In Ruby 3.1, anonymous block forwarding has been added. # # This cop identifies places where ‘do_something(&block)` can be replaced # by `do_something(&)`. # # It also supports the opposite style by alternative `explicit` option. # You can specify the block variable name for autocorrection with `BlockForwardingName`. # The default variable name is `block`. If the name is already in use, it will not be # autocorrected. # # @example EnforcedStyle: anonymous (default) # # # bad # def foo(&block) # bar(&block) # end # # # good # def foo(&) # bar(&) # end # @example EnforcedStyle: explicit # # # bad # def foo(&) # bar(&) # end # # # good # def foo(&block) # bar(&block) # end # # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#40 class RuboCop::Cop::Naming::BlockForwarding < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#54
def on_def(node); end

# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#54
def on_defs(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#114
def anonymous_block_argument?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#87
def block_argument_name_matched?(block_pass_node, last_argument); end

# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#146
def block_forwarding_name; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#77
def expected_block_forwarding_style?(node, last_argument); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#118
def explicit_block_argument?(node); end

# Prevents the following syntax error:
#
# # foo.rb
# def foo(&)
#   block_method do
#     bar(&)
#   end
# end
#
# $ ruby -vc foo.rb
# ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
# foo.rb: foo.rb:4: anonymous block parameter is also used within block (SyntaxError)
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#106
def invalidates_syntax?(block_pass_node); end

# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#122
def register_offense(block_argument, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#138
def use_block_argument_as_local_variable?(node, last_argument); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#110
def use_kwarg_in_method_definition?(node); end

class << self
  # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#50
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#48 RuboCop::Cop::Naming::BlockForwarding::MSG = T.let(T.unsafe(nil), String)

# Checks block parameter names for how descriptive they # are. It is highly configurable. # # The ‘MinNameLength` config option takes an integer. It represents # the minimum amount of characters the name must be. Its default is 1. # The `AllowNamesEndingInNumbers` config option takes a boolean. When # set to false, this cop will register offenses for names ending with # numbers. Its default is false. The `AllowedNames` config option # takes an array of permitted names that will never register an # offense. The `ForbiddenNames` config option takes an array of # restricted names that will always register an offense. # # @example # # bad # bar do |varOne, varTwo| # varOne + varTwo # end # # # With `AllowNamesEndingInNumbers` set to false # foo { |num1, num2| num1 * num2 } # # # With `MinNameLength` set to number greater than 1 # baz { |a, b, c| do_stuff(a, b, c) } # # # good # bar do |thud, fred| # thud + fred # end # # foo { |speed, distance| speed * distance } # # baz { |age, height, gender| do_stuff(age, height, gender) } # # source://rubocop//lib/rubocop/cop/naming/block_parameter_name.rb#38 class RuboCop::Cop::Naming::BlockParameterName < ::RuboCop::Cop::Base

include ::RuboCop::Cop::UncommunicativeName

# source://rubocop//lib/rubocop/cop/naming/block_parameter_name.rb#41
def on_block(node); end

end

# Checks for class and module names with # an underscore in them. # # ‘AllowedNames` config takes an array of permitted names. # Its default value is `[’module_parent’]‘. # These names can be full class/module names or part of the name. # eg. Adding `my_class` to the `AllowedNames` config will allow names like # `my_class`, `my_class::User`, `App::my_class`, `App::my_class::User`, etc. # # @example # # bad # class My_Class # end # module My_Module # end # # # good # class MyClass # end # module MyModule # end # class module_parent::MyModule # end # # source://rubocop//lib/rubocop/cop/naming/class_and_module_camel_case.rb#29 class RuboCop::Cop::Naming::ClassAndModuleCamelCase < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/naming/class_and_module_camel_case.rb#32
def on_class(node); end

# source://rubocop//lib/rubocop/cop/naming/class_and_module_camel_case.rb#32
def on_module(node); end

end

# source://rubocop//lib/rubocop/cop/naming/class_and_module_camel_case.rb#30 RuboCop::Cop::Naming::ClassAndModuleCamelCase::MSG = T.let(T.unsafe(nil), String)

# Checks whether constant names are written using # SCREAMING_SNAKE_CASE. # # To avoid false positives, it ignores cases in which we cannot know # for certain the type of value that would be assigned to a constant. # # @example # # bad # InchInCm = 2.54 # INCHinCM = 2.54 # Inch_In_Cm = 2.54 # # # good # INCH_IN_CM = 2.54 # # source://rubocop//lib/rubocop/cop/naming/constant_name.rb#20 class RuboCop::Cop::Naming::ConstantName < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/naming/constant_name.rb#27
def class_or_struct_return_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/naming/constant_name.rb#68
def literal_receiver?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/naming/constant_name.rb#33
def on_casgn(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/constant_name.rb#56
def allowed_assignment?(value); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/constant_name.rb#73
def allowed_conditional_expression_on_rhs?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/constant_name.rb#63
def allowed_method_call_on_rhs?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/constant_name.rb#77
def contains_constant?(node); end

end

# source://rubocop//lib/rubocop/cop/naming/constant_name.rb#21 RuboCop::Cop::Naming::ConstantName::MSG = T.let(T.unsafe(nil), String)

# Use POSIX character classes, so we allow accented characters rather # than just standard ASCII characters # # source://rubocop//lib/rubocop/cop/naming/constant_name.rb#24 RuboCop::Cop::Naming::ConstantName::SNAKE_CASE = T.let(T.unsafe(nil), Regexp)

# Makes sure that Ruby source files have snake_case # names. Ruby scripts (i.e. source files with a shebang in the # first line) are ignored. # # The cop also ignores ‘.gemspec` files, because Bundler # recommends using dashes to separate namespaces in nested gems # (i.e. `bundler-console` becomes `Bundler::Console`). As such, the # gemspec is supposed to be named `bundler-console.gemspec`. # # When `ExpectMatchingDefinition` (default: `false`) is `true`, the cop requires # each file to have a class, module or `Struct` defined in it that matches # the filename. This can be further configured using # `CheckDefinitionPathHierarchy` (default: `true`) to determine whether the # path should match the namespace of the above definition. # # When `IgnoreExecutableScripts` (default: `true`) is `true`, files that start # with a shebang line are not considered by the cop. # # When `Regex` is set, the cop will flag any filename that does not match # the regular expression. # # @example # # bad # lib/layoutManager.rb # # anything/usingCamelCase # # # good # lib/layout_manager.rb # # anything/using_snake_case.rake # # source://rubocop//lib/rubocop/cop/naming/file_name.rb#39 class RuboCop::Cop::Naming::FileName < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#56
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#49
def struct_definition(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#134
def allowed_acronyms; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/file_name.rb#96
def bad_filename_allowed?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/file_name.rb#122
def check_definition_path_hierarchy?; end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#169
def defined_struct(node); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#126
def definition_path_hierarchy_roots; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/file_name.rb#118
def expect_matching_definition?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/file_name.rb#138
def filename_good?(basename); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#147
def find_class_or_module(node, namespace); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#165
def find_definition(node); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#65
def for_bad_filename(file_path); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/file_name.rb#114
def ignore_executable_scripts?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/file_name.rb#202
def match?(expected); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/file_name.rb#206
def match_acronym?(expected, name); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#174
def match_namespace(node, namespace, expected); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/file_name.rb#92
def matching_class?(file_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/file_name.rb#88
def matching_definition?(file_path); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#100
def no_definition_message(basename, file_path); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#106
def other_message(basename); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#188
def partial_matcher!(expected); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#77
def perform_class_and_module_naming_checks(file_path, basename); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#130
def regex; end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#240
def to_module_name(basename); end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#213
def to_namespace(path); end

end

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#43 RuboCop::Cop::Naming::FileName::MSG_NO_DEFINITION = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#44 RuboCop::Cop::Naming::FileName::MSG_REGEX = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#42 RuboCop::Cop::Naming::FileName::MSG_SNAKE_CASE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/naming/file_name.rb#46 RuboCop::Cop::Naming::FileName::SNAKE_CASE = T.let(T.unsafe(nil), Regexp)

# Checks that your heredocs are using the configured case. # By default it is configured to enforce uppercase heredocs. # # @example EnforcedStyle: uppercase (default) # # bad # <<-sql # SELECT * FROM foo # sql # # # good # <<-SQL # SELECT * FROM foo # SQL # @example EnforcedStyle: lowercase # # bad # <<-SQL # SELECT * FROM foo # SQL # # # good # <<-sql # SELECT * FROM foo # sql # # source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_case.rb#30 class RuboCop::Cop::Naming::HeredocDelimiterCase < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Heredoc
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_case.rb#37
def on_heredoc(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_case.rb#54
def correct_case_delimiters?(node); end

# source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_case.rb#58
def correct_delimiters(source); end

# source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_case.rb#50
def message(_node); end

end

# source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_case.rb#35 RuboCop::Cop::Naming::HeredocDelimiterCase::MSG = T.let(T.unsafe(nil), String)

# Checks that your heredocs are using meaningful delimiters. # By default it disallows ‘END` and `EO*`, and can be configured through # forbidden listing additional delimiters. # # @example # # # good # <<-SQL # SELECT * FROM foo # SQL # # # bad # <<-END # SELECT * FROM foo # END # # # bad # <<-EOS # SELECT * FROM foo # EOS # # source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#26 class RuboCop::Cop::Naming::HeredocDelimiterNaming < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Heredoc

# source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#31
def on_heredoc(node); end

private

# source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#51
def forbidden_delimiters; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#41
def meaningful_delimiters?(node); end

end

# source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#29 RuboCop::Cop::Naming::HeredocDelimiterNaming::MSG = T.let(T.unsafe(nil), String)

# Recommends the use of inclusive language instead of problematic terms. # The cop can check the following locations for offenses: # # - identifiers # - constants # - variables # - strings # - symbols # - comments # - file paths # # Each of these locations can be individually enabled/disabled via configuration, # for example CheckIdentifiers = true/false. # # Flagged terms are configurable for the cop. For each flagged term an optional # Regex can be specified to identify offenses. Suggestions for replacing a flagged term can # be configured and will be displayed as part of the offense message. # An AllowedRegex can be specified for a flagged term to exempt allowed uses of the term. # ‘WholeWord: true` can be set on a flagged term to indicate the cop should only match when # a term matches the whole word (partial matches will not be offenses). # # The cop supports autocorrection when there is only one suggestion. When there are multiple # suggestions, the best suggestion cannot be identified and will not be autocorrected. # # @example FlaggedTerms: { whitelist: { Suggestions: [’allowlist’] } } # # Suggest replacing identifier whitelist with allowlist # # # bad # whitelist_users = %w(user1 user1) # # # good # allowlist_users = %w(user1 user2) # @example FlaggedTerms: { master: { Suggestions: [‘main’, ‘primary’, ‘leader’] } } # # Suggest replacing master in an instance variable name with main, primary, or leader # # # bad # @master_node = ‘node1.example.com’ # # # good # @primary_node = ‘node1.example.com’ # @example FlaggedTerms: { whitelist: { Regex: !ruby/regexp ‘/white?list’ } } # # Identify problematic terms using a Regexp # # # bad # white_list = %w(user1 user2) # # # good # allow_list = %w(user1 user2) # @example FlaggedTerms: { master: { AllowedRegex: ‘master'?s degree’ } } # # Specify allowed uses of the flagged term as a string or regexp. # # # bad # # They had a masters # # # good # # They had a master’s degree # @example FlaggedTerms: { slave: { WholeWord: true } } # # Specify that only terms that are full matches will be flagged. # # # bad # Slave # # # good (won’t be flagged despite containing ‘slave`) # TeslaVehicle # # source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#74 class RuboCop::Cop::Naming::InclusiveLanguage < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# @return [InclusiveLanguage] a new instance of InclusiveLanguage
#
# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#84
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#93
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#111
def add_offenses_for_token(token, word_locations); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#167
def add_to_flagged_term_hash(regex_string, term, term_definition); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#193
def array_to_ignorecase_regex(strings); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#126
def check_token?(type); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#243
def create_message(word, message = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#217
def create_multiple_word_message_for_file(words); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#213
def create_single_word_message_for_file(word); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#189
def ensure_regex_string(regex); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#160
def extract_regexp(term, term_definition); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#251
def find_flagged_term(word); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#265
def format_suggestions(suggestions); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#197
def investigate_filepath; end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#100
def investigate_tokens; end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#231
def mask_input(str); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#280
def offense_range(token, word); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#130
def preprocess_check_config; end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#144
def preprocess_flagged_terms; end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#258
def preprocess_suggestions(suggestions); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#179
def process_allowed_regex(allowed); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#221
def scan_for_words(input); end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#174
def set_regexes(flagged_term_strings, allowed_strings); end

end

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#78 RuboCop::Cop::Naming::InclusiveLanguage::EMPTY_ARRAY = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#79 RuboCop::Cop::Naming::InclusiveLanguage::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#80 RuboCop::Cop::Naming::InclusiveLanguage::MSG_FOR_FILE_PATH = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/naming/inclusive_language.rb#82 class RuboCop::Cop::Naming::InclusiveLanguage::WordLocation < ::Struct

# Returns the value of attribute position
#
# @return [Object] the current value of position
def position; end

# Sets the attribute position
#
# @param value [Object] the value to set the attribute position to.
# @return [Object] the newly set value
def position=(_); end

# Returns the value of attribute word
#
# @return [Object] the current value of word
def word; end

# Sets the attribute word
#
# @param value [Object] the value to set the attribute word to.
# @return [Object] the newly set value
def word=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# Checks for memoized methods whose instance variable name # does not match the method name. Applies to both regular methods # (defined with ‘def`) and dynamic methods (defined with # `define_method` or `define_singleton_method`). # # This cop can be configured with the EnforcedStyleForLeadingUnderscores # directive. It can be configured to allow for memoized instance variables # prefixed with an underscore. Prefixing ivars with an underscore is a # convention that is used to implicitly indicate that an ivar should not # be set or referenced outside of the memoization method. # # @example EnforcedStyleForLeadingUnderscores: disallowed (default) # # bad # # Method foo is memoized using an instance variable that is # # not `@foo`. This can cause confusion and bugs. # def foo # @something ||= calculate_expensive_thing # end # # def foo # return @something if defined?(@something) # @something = calculate_expensive_thing # end # # # good # def _foo # @foo ||= calculate_expensive_thing # end # # # good # def foo # @foo ||= calculate_expensive_thing # end # # # good # def foo # @foo ||= begin # calculate_expensive_thing # end # end # # # good # def foo # helper_variable = something_we_need_to_calculate_foo # @foo ||= calculate_expensive_thing(helper_variable) # end # # # good # define_method(:foo) do # @foo ||= calculate_expensive_thing # end # # # good # define_method(:foo) do # return @foo if defined?(@foo) # @foo = calculate_expensive_thing # end # @example EnforcedStyleForLeadingUnderscores: required # # bad # def foo # @something ||= calculate_expensive_thing # end # # # bad # def foo # @foo ||= calculate_expensive_thing # end # # def foo # return @foo if defined?(@foo) # @foo = calculate_expensive_thing # end # # # good # def foo # @_foo ||= calculate_expensive_thing # end # # # good # def _foo # @_foo ||= calculate_expensive_thing # end # # def foo # return @_foo if defined?(@_foo) # @_foo = calculate_expensive_thing # end # # # good # define_method(:foo) do # @_foo ||= calculate_expensive_thing # end # # # good # define_method(:foo) do # return @_foo if defined?(@_foo) # @_foo = calculate_expensive_thing # end # @example EnforcedStyleForLeadingUnderscores :optional # # bad # def foo # @something ||= calculate_expensive_thing # end # # # good # def foo # @foo ||= calculate_expensive_thing # end # # # good # def foo # @_foo ||= calculate_expensive_thing # end # # # good # def _foo # @_foo ||= calculate_expensive_thing # end # # # good # def foo # return @_foo if defined?(@_foo) # @_foo = calculate_expensive_thing # end # # # good # define_method(:foo) do # @foo ||= calculate_expensive_thing # end # # # good # define_method(:foo) do # @_foo ||= calculate_expensive_thing # end # # source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#148 class RuboCop::Cop::Naming::MemoizedInstanceVariableName < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#197
def defined_memoized?(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#160
def method_definition?(param0 = T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#205
def on_defined?(node); end

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#170
def on_or_asgn(node); end

private

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#242
def find_definition(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#253
def matches?(method_name, ivar_assign); end

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#263
def message(variable); end

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#238
def style_parameter_name; end

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#271
def suggested_var(method_name); end

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#277
def variable_name_candidates(method_name); end

end

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#157 RuboCop::Cop::Naming::MemoizedInstanceVariableName::DYNAMIC_DEFINE_METHODS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#153 RuboCop::Cop::Naming::MemoizedInstanceVariableName::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/naming/memoized_instance_variable_name.rb#155 RuboCop::Cop::Naming::MemoizedInstanceVariableName::UNDERSCORE_REQUIRED = T.let(T.unsafe(nil), String)

# Makes sure that all methods use the configured style, # snake_case or camelCase, for their names. # # This cop has ‘AllowedPatterns` configuration option. # # Naming/MethodName: # AllowedPatterns: # - ’AonSelectionBulkChangez‘ # - ’AonSelectionClearedz‘ # # Method names matching patterns are always allowed. # # @example EnforcedStyle: snake_case (default) # # bad # def fooBar; end # # # good # def foo_bar; end # @example EnforcedStyle: camelCase # # bad # def foo_bar; end # # # good # def fooBar; end # # source://rubocop//lib/rubocop/cop/naming/method_name.rb#31 class RuboCop::Cop::Naming::MethodName < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::ConfigurableFormatting
include ::RuboCop::Cop::ConfigurableNaming
include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/naming/method_name.rb#55
def on_def(node); end

# source://rubocop//lib/rubocop/cop/naming/method_name.rb#55
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/naming/method_name.rb#44
def on_send(node); end

# source://rubocop//lib/rubocop/cop/naming/method_name.rb#42
def str_name(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/naming/method_name.rb#39
def sym_name(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/naming/method_name.rb#64
def attr_name(name_item); end

# source://rubocop//lib/rubocop/cop/naming/method_name.rb#75
def message(style); end

# source://rubocop//lib/rubocop/cop/naming/method_name.rb#68
def range_position(node); end

end

# source://rubocop//lib/rubocop/cop/naming/method_name.rb#36 RuboCop::Cop::Naming::MethodName::MSG = T.let(T.unsafe(nil), String)

# Checks method parameter names for how descriptive they # are. It is highly configurable. # # The ‘MinNameLength` config option takes an integer. It represents # the minimum amount of characters the name must be. Its default is 3. # The `AllowNamesEndingInNumbers` config option takes a boolean. When # set to false, this cop will register offenses for names ending with # numbers. Its default is false. The `AllowedNames` config option # takes an array of permitted names that will never register an # offense. The `ForbiddenNames` config option takes an array of # restricted names that will always register an offense. # # @example # # bad # def bar(varOne, varTwo) # varOne + varTwo # end # # # With `AllowNamesEndingInNumbers` set to false # def foo(num1, num2) # num1 * num2 # end # # # With `MinNameLength` set to number greater than 1 # def baz(a, b, c) # do_stuff(a, b, c) # end # # # good # def bar(thud, fred) # thud + fred # end # # def foo(speed, distance) # speed * distance # end # # def baz(age_a, height_b, gender_c) # do_stuff(age_a, height_b, gender_c) # end # # source://rubocop//lib/rubocop/cop/naming/method_parameter_name.rb#46 class RuboCop::Cop::Naming::MethodParameterName < ::RuboCop::Cop::Base

include ::RuboCop::Cop::UncommunicativeName

# source://rubocop//lib/rubocop/cop/naming/method_parameter_name.rb#49
def on_def(node); end

# source://rubocop//lib/rubocop/cop/naming/method_parameter_name.rb#49
def on_defs(node); end

end

# Checks that predicate methods names end with a question mark and # do not start with a forbidden prefix. # # A method is determined to be a predicate method if its name starts # with one of the prefixes defined in the ‘NamePrefix` configuration. # You can change what prefixes are considered by changing this option. # Any method name that starts with one of these prefixes is required by # the cop to end with a `?`. Other methods can be allowed by adding to # the `AllowedMethods` configuration. # # NOTE: The `is_a?` method is allowed by default. # # If `ForbiddenPrefixes` is set, methods that start with the configured # prefixes will not be allowed and will be removed by autocorrection. # # In other words, if `ForbiddenPrefixes` is empty, a method named `is_foo` # will register an offense only due to the lack of question mark (and will be # autocorrected to `is_foo?`). If `ForbiddenPrefixes` contains `is_`, # `is_foo` will register an offense both because the ? is missing and because of # the `is_` prefix, and will be corrected to `foo?`. # # NOTE: `ForbiddenPrefixes` is only applied to prefixes in `NamePrefix`; # a prefix in the former but not the latter will not be considered by # this cop. # # @example # # bad # def is_even(value) # end # # def is_even?(value) # end # # # good # def even?(value) # end # # # bad # def has_value # end # # def has_value? # end # # # good # def value? # end # @example AllowedMethods: [’is_a?‘] (default) # # good # def is_a?(value) # end # # source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#59 class RuboCop::Cop::Naming::PredicateName < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods

# source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#63
def dynamic_method_define(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#82
def on_def(node); end

# source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#82
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#69
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#98
def allowed_method_name?(method_name, prefix); end

# source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#106
def expected_name(method_name, prefix); end

# source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#120
def forbidden_prefixes; end

# source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#116
def message(method_name, new_name); end

# source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#128
def method_definition_macros(macro_name); end

# source://rubocop//lib/rubocop/cop/naming/predicate_name.rb#124
def predicate_prefixes; end

end

# Makes sure that rescued exceptions variables are named as # expected. # # The ‘PreferredName` config option takes a `String`. It represents # the required name of the variable. Its default is `e`. # # NOTE: This cop does not consider nested rescues because it cannot # guarantee that the variable from the outer rescue is not used within # the inner rescue (in which case, changing the inner variable would # shadow the outer variable). # # @example PreferredName: e (default) # # bad # begin # # do something # rescue MyException => exception # # do something # end # # # good # begin # # do something # rescue MyException => e # # do something # end # # # good # begin # # do something # rescue MyException => _e # # do something # end # @example PreferredName: exception # # bad # begin # # do something # rescue MyException => e # # do something # end # # # good # begin # # do something # rescue MyException => exception # # do something # end # # # good # begin # # do something # rescue MyException => _exception # # do something # end # # source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#61 class RuboCop::Cop::Naming::RescuedExceptionsVariableName < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#66
def on_resbody(node); end

private

# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#96
def autocorrect(corrector, node, range, offending_name, preferred_name); end

# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#116
def correct_node(corrector, node, offending_name, preferred_name); end

# If the exception variable is reassigned, that assignment needs to be corrected.
# Further `lvar` nodes will not be corrected though since they now refer to a
# different variable.
#
# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#134
def correct_reassignment(corrector, node, offending_name, preferred_name); end

# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#159
def message(node); end

# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#91
def offense_range(resbody); end

# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#143
def preferred_name(variable_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#165
def shadowed_variable_name?(node); end

# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#152
def variable_name(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#106
def variable_name_matches?(node, name); end

end

# source://rubocop//lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb#64 RuboCop::Cop::Naming::RescuedExceptionsVariableName::MSG = T.let(T.unsafe(nil), String)

# Makes sure that all variables use the configured style, # snake_case or camelCase, for their names. # # @example EnforcedStyle: snake_case (default) # # bad # fooBar = 1 # # # good # foo_bar = 1 # @example EnforcedStyle: camelCase # # bad # foo_bar = 1 # # # good # fooBar = 1 # @example AllowedIdentifiers: [‘fooBar’] # # good (with EnforcedStyle: snake_case) # fooBar = 1 # @example AllowedPatterns: [‘_vd+z’] # # good (with EnforcedStyle: camelCase) # :release_v1 # # source://rubocop//lib/rubocop/cop/naming/variable_name.rb#31 class RuboCop::Cop::Naming::VariableName < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedIdentifiers
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::ConfigurableFormatting
include ::RuboCop::Cop::ConfigurableNaming
include ::RuboCop::Cop::AllowedPattern

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_arg(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_blockarg(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_kwarg(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_kwoptarg(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_kwrestarg(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_lvar(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_optarg(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#42
def on_restarg(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#38
def valid_name?(node, name, given_style = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#62
def message(style); end

end

# source://rubocop//lib/rubocop/cop/naming/variable_name.rb#36 RuboCop::Cop::Naming::VariableName::MSG = T.let(T.unsafe(nil), String)

# Makes sure that all numbered variables use the # configured style, snake_case, normalcase, or non_integer, # for their numbering. # # Additionally, ‘CheckMethodNames` and `CheckSymbols` configuration options # can be used to specify whether method names and symbols should be checked. # Both are enabled by default. # # @example EnforcedStyle: normalcase (default) # # bad # :some_sym_1 # variable_1 = 1 # # def some_method_1; end # # def some_method1(arg_1); end # # # good # :some_sym1 # variable1 = 1 # # def some_method1; end # # def some_method1(arg1); end # @example EnforcedStyle: snake_case # # bad # :some_sym1 # variable1 = 1 # # def some_method1; end # # def some_method_1(arg1); end # # # good # :some_sym_1 # variable_1 = 1 # # def some_method_1; end # # def some_method_1(arg_1); end # @example EnforcedStyle: non_integer # # bad # :some_sym1 # :some_sym_1 # # variable1 = 1 # variable_1 = 1 # # def some_method1; end # # def some_method_1; end # # def some_methodone(arg1); end # def some_methodone(arg_1); end # # # good # :some_symone # :some_sym_one # # variableone = 1 # variable_one = 1 # # def some_methodone; end # # def some_method_one; end # # def some_methodone(argone); end # def some_methodone(arg_one); end # # # In the following examples, we assume `EnforcedStyle: normalcase` (default). # @example CheckMethodNames: true (default) # # bad # def some_method_1; end # @example CheckMethodNames: false # # good # def some_method_1; end # @example CheckSymbols: true (default) # # bad # :some_sym_1 # @example CheckSymbols: false # # good # :some_sym_1 # @example AllowedIdentifiers: [capture3] # # good # expect(Open3).to receive(:capture3) # @example AllowedPatterns: [’_vd+z‘] # # good # :some_sym_v1 # # source://rubocop//lib/rubocop/cop/naming/variable_number.rb#103 class RuboCop::Cop::Naming::VariableNumber < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedIdentifiers
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::ConfigurableFormatting
include ::RuboCop::Cop::ConfigurableNumbering
include ::RuboCop::Cop::AllowedPattern

# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#114
def on_arg(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#114
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#126
def on_def(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#126
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#114
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#114
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#114
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#134
def on_sym(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#110
def valid_name?(node, name, given_style = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#143
def message(style); end

end

# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#108 RuboCop::Cop::Naming::VariableNumber::MSG = T.let(T.unsafe(nil), String)

# Some common code shared between ‘NegatedIf` and # `NegatedWhile` cops. # # source://rubocop//lib/rubocop/cop/mixin/negative_conditional.rb#7 module RuboCop::Cop::NegativeConditional

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/negative_conditional.rb#18
def empty_condition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/negative_conditional.rb#15
def single_negative?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/mixin/negative_conditional.rb#20
def check_negative_conditional(node, message:, &block); end

end

# source://rubocop//lib/rubocop/cop/mixin/negative_conditional.rb#10 RuboCop::Cop::NegativeConditional::MSG = T.let(T.unsafe(nil), String)

# This module provides a list of methods that are: # 1. In the NilClass by default # 2. Added to NilClass by explicitly requiring any standard libraries # 3. Cop’s configuration parameter AllowedMethods. # # source://rubocop//lib/rubocop/cop/mixin/nil_methods.rb#9 module RuboCop::Cop::NilMethods

include ::RuboCop::Cop::AllowedMethods

private

# source://rubocop//lib/rubocop/cop/mixin/nil_methods.rb#14
def nil_methods; end

# source://rubocop//lib/rubocop/cop/mixin/nil_methods.rb#18
def other_stdlib_methods; end

end

# An offense represents a style violation detected by RuboCop. # # source://rubocop//lib/rubocop/cop/offense.rb#6 class RuboCop::Cop::Offense

include ::Comparable

# @api private
# @return [Offense] a new instance of Offense
#
# source://rubocop//lib/rubocop/cop/offense.rb#84
def initialize(severity, location, message, cop_name, status = T.unsafe(nil), corrector = T.unsafe(nil)); end

# Returns `-1`, `0`, or `+1`
# if this offense is less than, equal to, or greater than `other`.
#
# @api public
# @return [Integer] comparison result
#
# source://rubocop//lib/rubocop/cop/offense.rb#230
def <=>(other); end

# @api public
# @return [Boolean] returns `true` if two offenses contain same attributes
#
# source://rubocop//lib/rubocop/cop/offense.rb#211
def ==(other); end

# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#160
def column; end

# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#170
def column_length; end

# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#194
def column_range; end

# @api public
# @example
#   'LineLength'
# @return [String] a cop class name without department.
#   i.e. type of the violation.
#
# source://rubocop//lib/rubocop/cop/offense.rb#51
def cop_name; end

# @api public
# @return [Boolean] whether this offense can be automatically corrected via
#   autocorrect or a todo.
#
# source://rubocop//lib/rubocop/cop/offense.rb#102
def correctable?; end

# @api public
# @return [Boolean] whether this offense is automatically corrected via
#   autocorrect or a todo.
#
# source://rubocop//lib/rubocop/cop/offense.rb#113
def corrected?; end

# @api public
# @return [Boolean] whether this offense is automatically disabled via a todo.
#
# source://rubocop//lib/rubocop/cop/offense.rb#123
def corrected_with_todo?; end

# @api public
# @return [Corrector | nil] the autocorrection for this offense, or `nil` when not available
#
# source://rubocop//lib/rubocop/cop/offense.rb#62
def corrector; end

# @api public
# @return [Boolean] whether this offense was locally disabled with a
#   disable or todo where it occurred.
#
# source://rubocop//lib/rubocop/cop/offense.rb#134
def disabled?; end

# @api public
# @return [Boolean] returns `true` if two offenses contain same attributes
#
# source://rubocop//lib/rubocop/cop/offense.rb#211
def eql?(other); end

# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#179
def first_line; end

# source://rubocop//lib/rubocop/cop/offense.rb#219
def hash; end

# @api public
# @return [Parser::Source::Range] the range of the code that is highlighted
#
# source://rubocop//lib/rubocop/cop/offense.rb#142
def highlighted_area; end

# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#189
def last_column; end

# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#184
def last_line; end

# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#155
def line; end

# @api public
# @return [Parser::Source::Range] the location where the violation is detected.
# @see https://www.rubydoc.info/gems/parser/Parser/Source/Range Parser::Source::Range
#
# source://rubocop//lib/rubocop/cop/offense.rb#28
def location; end

# @api public
# @example
#   'Line is too long. [90/80]'
# @return [String] human-readable message
#
# source://rubocop//lib/rubocop/cop/offense.rb#39
def message; end

# Internally we use column number that start at 0, but when
# outputting column numbers, we want them to start at 1. One
# reason is that editors, such as Emacs, expect this.
#
# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#203
def real_column; end

# @api public
# @return [RuboCop::Cop::Severity]
#
# source://rubocop//lib/rubocop/cop/offense.rb#17
def severity; end

# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#165
def source_line; end

# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#54
def status; end

# This is just for debugging purpose.
#
# @api private
#
# source://rubocop//lib/rubocop/cop/offense.rb#148
def to_s; end

end

# @api private # # source://rubocop//lib/rubocop/cop/offense.rb#10 RuboCop::Cop::Offense::COMPARISON_ATTRIBUTES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/offense.rb#81 RuboCop::Cop::Offense::NO_LOCATION = T.let(T.unsafe(nil), RuboCop::Cop::Offense::PseudoSourceRange)

# source://rubocop//lib/rubocop/cop/offense.rb#64 class RuboCop::Cop::Offense::PseudoSourceRange < ::Struct

# Returns the value of attribute begin_pos
#
# @return [Object] the current value of begin_pos
def begin_pos; end

# Sets the attribute begin_pos
#
# @param value [Object] the value to set the attribute begin_pos to.
# @return [Object] the newly set value
def begin_pos=(_); end

# Returns the value of attribute column
#
# @return [Object] the current value of column
def column; end

# Sets the attribute column
#
# @param value [Object] the value to set the attribute column to.
# @return [Object] the newly set value
def column=(_); end

# source://rubocop//lib/rubocop/cop/offense.rb#70
def column_range; end

# Returns the value of attribute end_pos
#
# @return [Object] the current value of end_pos
def end_pos; end

# Sets the attribute end_pos
#
# @param value [Object] the value to set the attribute end_pos to.
# @return [Object] the newly set value
def end_pos=(_); end

# Returns the value of attribute line
#
# @return [Object] the current value of line
def first_line; end

# Returns the value of attribute column
#
# @return [Object] the current value of column
def last_column; end

# Returns the value of attribute line
#
# @return [Object] the current value of line
def last_line; end

# source://rubocop//lib/rubocop/cop/offense.rb#74
def length; end

# Returns the value of attribute line
#
# @return [Object] the current value of line
def line; end

# Sets the attribute line
#
# @param value [Object] the value to set the attribute line to.
# @return [Object] the newly set value
def line=(_); end

# source://rubocop//lib/rubocop/cop/offense.rb#74
def size; end

# Returns the value of attribute source_line
#
# @return [Object] the current value of source_line
def source_line; end

# Sets the attribute source_line
#
# @param value [Object] the value to set the attribute source_line to.
# @return [Object] the newly set value
def source_line=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# Common functionality for cops checking if and unless expressions. # # source://rubocop//lib/rubocop/cop/mixin/on_normal_if_unless.rb#6 module RuboCop::Cop::OnNormalIfUnless

# source://rubocop//lib/rubocop/cop/mixin/on_normal_if_unless.rb#7
def on_if(node); end

end

# This autocorrects gem dependency order # # source://rubocop//lib/rubocop/cop/correctors/ordered_gem_corrector.rb#6 class RuboCop::Cop::OrderedGemCorrector

extend ::RuboCop::Cop::OrderedGemNode
extend ::RuboCop::Cop::RangeHelp

class << self
  # Returns the value of attribute comments_as_separators.
  #
  # source://rubocop//lib/rubocop/cop/correctors/ordered_gem_corrector.rb#11
  def comments_as_separators; end

  # source://rubocop//lib/rubocop/cop/correctors/ordered_gem_corrector.rb#13
  def correct(processed_source, node, previous_declaration, comments_as_separators); end

  # Returns the value of attribute processed_source.
  #
  # source://rubocop//lib/rubocop/cop/correctors/ordered_gem_corrector.rb#11
  def processed_source; end

  private

  # source://rubocop//lib/rubocop/cop/correctors/ordered_gem_corrector.rb#26
  def declaration_with_comment(node); end
end

end

# Common functionality for Bundler/OrderedGems and # Gemspec/OrderedDependencies. # # source://rubocop//lib/rubocop/cop/mixin/ordered_gem_node.rb#7 module RuboCop::Cop::OrderedGemNode

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/ordered_gem_node.rb#23
def case_insensitive_out_of_order?(string_a, string_b); end

# source://rubocop//lib/rubocop/cop/mixin/ordered_gem_node.rb#27
def consecutive_lines(previous, current); end

# source://rubocop//lib/rubocop/cop/mixin/ordered_gem_node.rb#55
def find_gem_name(gem_node); end

# source://rubocop//lib/rubocop/cop/mixin/ordered_gem_node.rb#18
def gem_canonical_name(name); end

# source://rubocop//lib/rubocop/cop/mixin/ordered_gem_node.rb#49
def gem_name(declaration_node); end

# source://rubocop//lib/rubocop/cop/mixin/ordered_gem_node.rb#10
def get_source_range(node, comments_as_separators); end

# source://rubocop//lib/rubocop/cop/mixin/ordered_gem_node.rb#32
def register_offense(previous, current); end

# source://rubocop//lib/rubocop/cop/mixin/ordered_gem_node.rb#61
def treat_comments_as_separators; end

end

# Common functionality for handling parentheses. # # source://rubocop//lib/rubocop/cop/mixin/parentheses.rb#6 module RuboCop::Cop::Parentheses

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/parentheses.rb#9
def parens_required?(node); end

end

# This autocorrects parentheses # # source://rubocop//lib/rubocop/cop/correctors/parentheses_corrector.rb#6 class RuboCop::Cop::ParenthesesCorrector

extend ::RuboCop::Cop::RangeHelp

class << self
  # source://rubocop//lib/rubocop/cop/correctors/parentheses_corrector.rb#12
  def correct(corrector, node); end

  private

  # Add a comma back after the heredoc identifier
  #
  # source://rubocop//lib/rubocop/cop/correctors/parentheses_corrector.rb#74
  def add_heredoc_comma(corrector, node); end

  # If the node contains a heredoc, remove the comma too
  # It'll be added back in the right place later
  #
  # source://rubocop//lib/rubocop/cop/correctors/parentheses_corrector.rb#64
  def extend_range_for_heredoc(node, range); end

  # If removing parentheses leaves a comma on its own line, remove all the whitespace
  # preceding it to prevent a syntax error.
  #
  # source://rubocop//lib/rubocop/cop/correctors/parentheses_corrector.rb#41
  def handle_orphaned_comma(corrector, node); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/correctors/parentheses_corrector.rb#80
  def heredoc?(node); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/correctors/parentheses_corrector.rb#28
  def next_char_is_question_mark?(node); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/correctors/parentheses_corrector.rb#32
  def only_closing_paren_before_comma?(node); end

  # Get a range for the closing parenthesis and all whitespace to the left of it
  #
  # source://rubocop//lib/rubocop/cop/correctors/parentheses_corrector.rb#51
  def parens_range(node); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/correctors/parentheses_corrector.rb#24
  def ternary_condition?(node); end
end

end

# Common functionality for handling percent arrays. # # source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#6 module RuboCop::Cop::PercentArray

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#26
def allowed_bracket_array?(node); end

# @param node [RuboCop::AST::ArrayNode]
# @param elements [Array<String>]
# @return [String]
#
# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#83
def build_bracketed_array_with_appropriate_whitespace(elements:, node:); end

# @param preferred_array_code [String]
# @return [String]
#
# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#56
def build_message_for_bracketed_array(preferred_array_code); end

# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#67
def check_bracketed_array(node, literal_prefix); end

# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#36
def check_percent_array(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#31
def comments_in_array?(node); end

# Override to determine values that are invalid in a percent array
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#22
def invalid_percent_array_contents?(_node); end

# Ruby does not allow percent arrays in an ambiguous block context.
#
# @example
#
#   foo %i[bar baz] { qux }
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#14
def invalid_percent_array_context?(node); end

# Provides whitespace between elements for building a bracketed array.
#   %w[  a   b   c    ]
#         ^^^
#
# @param node [RuboCop::AST::ArrayNode]
# @return [String]
#
# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#98
def whitespace_between(node); end

# Provides leading whitespace for building a bracketed array.
#   %w[  a   b   c    ]
#      ^^
#
# @param node [RuboCop::AST::ArrayNode]
# @return [String]
#
# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#111
def whitespace_leading(node); end

# Provides trailing whitespace for building a bracketed array.
#   %w[  a   b   c    ]
#                 ^^^^
#
# @param node [RuboCop::AST::ArrayNode]
# @return [String]
#
# source://rubocop//lib/rubocop/cop/mixin/percent_array.rb#120
def whitespace_trailing(node); end

end

# Common functionality for handling percent literals. # # source://rubocop//lib/rubocop/cop/mixin/percent_literal.rb#6 module RuboCop::Cop::PercentLiteral

include ::RuboCop::Cop::RangeHelp

private

# source://rubocop//lib/rubocop/cop/mixin/percent_literal.rb#23
def begin_source(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/percent_literal.rb#11
def percent_literal?(node); end

# source://rubocop//lib/rubocop/cop/mixin/percent_literal.rb#17
def process(node, *types); end

# source://rubocop//lib/rubocop/cop/mixin/percent_literal.rb#27
def type(node); end

end

# This autocorrects percent literals # # source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#6 class RuboCop::Cop::PercentLiteralCorrector

include ::RuboCop::PathUtil
include ::RuboCop::Cop::Util

# @return [PercentLiteralCorrector] a new instance of PercentLiteralCorrector
#
# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#11
def initialize(config, preferred_delimiters); end

# Returns the value of attribute config.
#
# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#9
def config; end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#16
def correct(corrector, node, char); end

# Returns the value of attribute preferred_delimiters.
#
# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#9
def preferred_delimiters; end

private

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#46
def autocorrect_multiline_words(node, escape, delimiters); end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#52
def autocorrect_words(node, escape, delimiters); end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#34
def delimiters_for(type); end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#100
def end_content(source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#30
def escape_words?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#78
def first_line?(node, previous_line_num); end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#89
def fix_escaped_content(word_node, escape, delimiters); end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#69
def line_breaks(node, source, previous_line_num, base_line_num, node_index); end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#38
def new_contents(node, escape, delimiters); end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#82
def process_lines(node, previous_line_num, base_line_num, source_in_lines); end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#58
def process_multiline_words(node, escape, delimiters); end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#96
def substitute_escaped_delimiters(content, delimiters); end

# source://rubocop//lib/rubocop/cop/correctors/percent_literal_corrector.rb#26
def wrap_contents(corrector, node, contents, char, delimiters); end

end

# Common functionality for checking whether an AST node/token is aligned # with something on a preceding or following line # # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#7 module RuboCop::Cop::PrecedingFollowingAlignment

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#93
def aligned_assignment?(range, line); end

# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#70
def aligned_comment_lines; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#105
def aligned_identical?(range, line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#81
def aligned_operator?(range, line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#77
def aligned_token?(range, line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#34
def aligned_with_adjacent_line?(range, predicate); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#52
def aligned_with_any_line?(line_ranges, range, indent = T.unsafe(nil), &predicate); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#42
def aligned_with_any_line_range?(line_ranges, range, &predicate); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#98
def aligned_with_append_operator?(range, line); end

# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#109
def aligned_with_assignment(token, line_range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#56
def aligned_with_line?(line_nos, range, indent = T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#18
def aligned_with_operator?(range); end

# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#22
def aligned_with_preceding_assignment(token); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#14
def aligned_with_something?(range); end

# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#28
def aligned_with_subsequent_assignment(token); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#85
def aligned_words?(range, line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#10
def allow_for_alignment?; end

# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#127
def assignment_lines; end

# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#131
def assignment_tokens; end

# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#147
def relevant_assignment_lines(line_range); end

# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#174
def remove_optarg_equals(asgn_tokens, processed_source); end

end

# Common functionality for handling percent literal delimiters. # # source://rubocop//lib/rubocop/cop/mixin/preferred_delimiters.rb#6 class RuboCop::Cop::PreferredDelimiters

# @return [PreferredDelimiters] a new instance of PreferredDelimiters
#
# source://rubocop//lib/rubocop/cop/mixin/preferred_delimiters.rb#11
def initialize(type, config, preferred_delimiters); end

# Returns the value of attribute config.
#
# source://rubocop//lib/rubocop/cop/mixin/preferred_delimiters.rb#7
def config; end

# source://rubocop//lib/rubocop/cop/mixin/preferred_delimiters.rb#17
def delimiters; end

# Returns the value of attribute type.
#
# source://rubocop//lib/rubocop/cop/mixin/preferred_delimiters.rb#7
def type; end

private

# @raise [ArgumentError]
#
# source://rubocop//lib/rubocop/cop/mixin/preferred_delimiters.rb#23
def ensure_valid_preferred_delimiters; end

# source://rubocop//lib/rubocop/cop/mixin/preferred_delimiters.rb#30
def preferred_delimiters; end

# source://rubocop//lib/rubocop/cop/mixin/preferred_delimiters.rb#45
def preferred_delimiters_config; end

end

# source://rubocop//lib/rubocop/cop/mixin/preferred_delimiters.rb#9 RuboCop::Cop::PreferredDelimiters::PERCENT_LITERAL_TYPES = T.let(T.unsafe(nil), Array)

# This autocorrects punctuation # # source://rubocop//lib/rubocop/cop/correctors/punctuation_corrector.rb#6 class RuboCop::Cop::PunctuationCorrector

class << self
  # source://rubocop//lib/rubocop/cop/correctors/punctuation_corrector.rb#12
  def add_space(corrector, token); end

  # source://rubocop//lib/rubocop/cop/correctors/punctuation_corrector.rb#8
  def remove_space(corrector, space_before); end

  # source://rubocop//lib/rubocop/cop/correctors/punctuation_corrector.rb#16
  def swap_comma(corrector, range); end
end

end

# Methods that calculate and return Parser::Source::Ranges # # source://rubocop//lib/rubocop/cop/mixin/range_help.rb#6 module RuboCop::Cop::RangeHelp

private

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#141
def add_range(range1, range2); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#82
def column_offset_between(base_range, range); end

# A range containing only the contents of a literal with delimiters (e.g. in
# `%i{1 2 3}` this will be the range covering `1 2 3` only).
#
# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#32
def contents_range(node); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#100
def directions(side); end

# Returns the column attribute of the range, except if the range is on
# the first line and there's a byte order mark at the beginning of that
# line, in which case 1 is subtracted from the column value. This gives
# the column as it appears when viewing the file in an editor.
#
# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#92
def effective_column(range); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#109
def final_pos(src, pos, increment, continuations, newlines, whitespace); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#117
def move_pos(src, pos, step, condition, regexp); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#123
def move_pos_str(src, pos, step, condition, needle); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#36
def range_between(start_pos, end_pos); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#73
def range_by_whole_lines(range, include_final_newline: T.unsafe(nil), buffer: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#134
def range_with_comments(node); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#130
def range_with_comments_and_lines(node); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#40
def range_with_surrounding_comma(range, side = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#55
def range_with_surrounding_space(range_positional = T.unsafe(nil), range: T.unsafe(nil), side: T.unsafe(nil), newlines: T.unsafe(nil), whitespace: T.unsafe(nil), continuations: T.unsafe(nil), buffer: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#11
def source_range(source_buffer, line_number, column, length = T.unsafe(nil)); end

end

# The Unicode codepoint # # source://rubocop//lib/rubocop/cop/mixin/range_help.rb#9 RuboCop::Cop::RangeHelp::BYTE_ORDER_MARK = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cop/mixin/range_help.rb#54 module RuboCop::Cop::RangeHelp::NOT_GIVEN; end

# Common functionality for handling Rational literals. # # source://rubocop//lib/rubocop/cop/mixin/rational_literal.rb#6 module RuboCop::Cop::RationalLiteral

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/rational_literal.rb#12
def rational_literal?(param0 = T.unsafe(nil)); end

end

# Registry that tracks all cops by their badge and department. # # source://rubocop//lib/rubocop/cop/registry.rb#19 class RuboCop::Cop::Registry

include ::Enumerable

# @return [Registry] a new instance of Registry
#
# source://rubocop//lib/rubocop/cop/registry.rb#51
def initialize(cops = T.unsafe(nil), options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/registry.rb#232
def ==(other); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/registry.rb#97
def contains_cop_matching?(names); end

# source://rubocop//lib/rubocop/cop/registry.rb#179
def cops; end

# source://rubocop//lib/rubocop/cop/registry.rb#224
def cops_for_department(department); end

# @return [Boolean] Checks if given name is department
#
# source://rubocop//lib/rubocop/cop/registry.rb#93
def department?(name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/registry.rb#147
def department_missing?(badge, name); end

# @return [Array<Symbol>] list of departments for current cops.
#
# source://rubocop//lib/rubocop/cop/registry.rb#72
def departments; end

# source://rubocop//lib/rubocop/cop/registry.rb#193
def disabled(config); end

# source://rubocop//lib/rubocop/cop/registry.rb#67
def dismiss(cop); end

# source://rubocop//lib/rubocop/cop/registry.rb#247
def each(&block); end

# source://rubocop//lib/rubocop/cop/registry.rb#189
def enabled(config); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/registry.rb#197
def enabled?(cop, config); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/registry.rb#213
def enabled_pending_cop?(cop_cfg, config); end

# source://rubocop//lib/rubocop/cop/registry.rb#63
def enlist(cop); end

# @param cop_name [String]
# @return [Class, nil]
#
# source://rubocop//lib/rubocop/cop/registry.rb#253
def find_by_cop_name(cop_name); end

# When a cop name is given returns a single-element array with the cop class.
# When a department name is given returns an array with all the cop classes
# for that department.
#
# source://rubocop//lib/rubocop/cop/registry.rb#260
def find_cops_by_directive(directive); end

# source://rubocop//lib/rubocop/cop/registry.rb#265
def freeze; end

# source://rubocop//lib/rubocop/cop/registry.rb#184
def length; end

# source://rubocop//lib/rubocop/cop/registry.rb#220
def names; end

# source://rubocop//lib/rubocop/cop/registry.rb#228
def names_for_department(department); end

# Returns the value of attribute options.
#
# source://rubocop//lib/rubocop/cop/registry.rb#49
def options; end

# source://rubocop//lib/rubocop/cop/registry.rb#151
def print_warning(name, path); end

# Convert a user provided cop name into a properly namespaced name
#
# @example gives back a correctly qualified cop name
#
#   registry = RuboCop::Cop::Registry
#   registry.qualified_cop_name('Layout/EndOfLine', '') # => 'Layout/EndOfLine'
# @example fixes incorrect namespaces
#
#   registry = RuboCop::Cop::Registry
#   registry.qualified_cop_name('Lint/EndOfLine', '') # => 'Layout/EndOfLine'
# @example namespaces bare cop identifiers
#
#   registry = RuboCop::Cop::Registry
#   registry.qualified_cop_name('EndOfLine', '') # => 'Layout/EndOfLine'
# @example passes back unrecognized cop names
#
#   registry = RuboCop::Cop::Registry
#   registry.qualified_cop_name('NotACop', '') # => 'NotACop'
# @note Emits a warning if the provided name has an incorrect namespace
# @param name [String] Cop name extracted from config
# @param path [String, nil] Path of file that `name` was extracted from
# @param warn [Boolean] Print a warning if no department given for `name`
# @raise [AmbiguousCopName] if a bare identifier with two possible namespaces is provided
# @return [String] Qualified cop name
#
# source://rubocop-rspec_rails/2.28.3/lib/rubocop-rspec_rails.rb#26
def qualified_cop_name(name, path, warn: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/registry.rb#166
def qualify_badge(badge); end

# source://rubocop//lib/rubocop/cop/registry.rb#243
def select(&block); end

# source://rubocop//lib/rubocop/cop/registry.rb#236
def sort!; end

# @return [Hash{String => Array<Class>}]
#
# source://rubocop//lib/rubocop/cop/registry.rb#174
def to_h; end

# source://rubocop//lib/rubocop/cop/registry.rb#159
def unqualified_cop_names; end

# @return [Registry] Cops for that specific department.
#
# source://rubocop//lib/rubocop/cop/registry.rb#78
def with_department(department); end

# @return [Registry] Cops not for a specific department.
#
# source://rubocop//lib/rubocop/cop/registry.rb#84
def without_department(department); end

private

# source://rubocop//lib/rubocop/cop/registry.rb#283
def clear_enrollment_queue; end

# source://rubocop//lib/rubocop/cop/registry.rb#279
def initialize_copy(reg); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/registry.rb#309
def registered?(badge); end

# source://rubocop//lib/rubocop/cop/registry.rb#299
def resolve_badge(given_badge, real_badge, source_path); end

# source://rubocop//lib/rubocop/cop/registry.rb#295
def with(cops); end

class << self
  # source://rubocop//lib/rubocop/cop/registry.rb#22
  def all; end

  # Returns the value of attribute global.
  #
  # source://rubocop//lib/rubocop/cop/registry.rb#274
  def global; end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/registry.rb#44
  def qualified_cop?(name); end

  # source://rubocop//lib/rubocop/cop/registry.rb#26
  def qualified_cop_name(name, origin); end

  # source://rubocop//lib/rubocop/cop/registry.rb#40
  def reset!; end

  # Changes momentarily the global registry
  # Intended for testing purposes
  #
  # source://rubocop//lib/rubocop/cop/registry.rb#32
  def with_temporary_global(temp_global = T.unsafe(nil)); end
end

end

# Ensure a require statement is present for a standard library determined # by variable library_name # # source://rubocop//lib/rubocop/cop/mixin/require_library.rb#7 module RuboCop::Cop::RequireLibrary

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/require_library.rb#12
def ensure_required(corrector, node, library_name); end

# source://rubocop//lib/rubocop/cop/mixin/require_library.rb#33
def on_send(node); end

# source://rubocop//lib/rubocop/cop/mixin/require_library.rb#24
def remove_subsequent_requires(corrector, node, library_name); end

# source://rubocop//lib/rubocop/cop/mixin/require_library.rb#51
def require_any_library?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/require_library.rb#56
def require_library_name?(param0 = T.unsafe(nil), param1); end

private

# source://rubocop//lib/rubocop/cop/mixin/require_library.rb#44
def on_new_investigation; end

end

# source://rubocop//lib/rubocop/cop/mixin/require_library.rb#10 RuboCop::Cop::RequireLibrary::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# This class ensures a require statement is present for a standard library # determined by the variable library_name # # source://rubocop//lib/rubocop/cop/correctors/require_library_corrector.rb#7 class RuboCop::Cop::RequireLibraryCorrector

extend ::RuboCop::Cop::RangeHelp

class << self
  # source://rubocop//lib/rubocop/cop/correctors/require_library_corrector.rb#11
  def correct(corrector, node, library_name); end

  # source://rubocop//lib/rubocop/cop/correctors/require_library_corrector.rb#17
  def require_statement(library_name); end
end

end

# Common functionality for checking ‘rescue` nodes. # # source://rubocop//lib/rubocop/cop/mixin/rescue_node.rb#6 module RuboCop::Cop::RescueNode

# source://rubocop//lib/rubocop/cop/mixin/rescue_node.rb#7
def modifier_locations; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/rescue_node.rb#13
def rescue_modifier?(node); end

# @deprecated Use ResbodyNode#exceptions instead
#
# source://rubocop//lib/rubocop/cop/mixin/rescue_node.rb#20
def rescued_exceptions(resbody); end

end

# Common functionality for safe assignment. By safe assignment we mean # putting parentheses around an assignment to indicate “I know I’m using an # assignment as a condition. It’s not a mistake.” # # source://rubocop//lib/rubocop/cop/mixin/safe_assignment.rb#8 module RuboCop::Cop::SafeAssignment

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/safe_assignment.rb#14
def empty_condition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/safe_assignment.rb#20
def safe_assignment?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/safe_assignment.rb#17
def setter_method?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/safe_assignment.rb#22
def safe_assignment_allowed?; end

end

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#5 module RuboCop::Cop::Security; end

# Checks for implementations of the ‘hash` method which combine # values using custom logic instead of delegating to `Array#hash`. # # Manually combining hashes is error prone and hard to follow, especially # when there are many values. Poor implementations may also introduce # performance or security concerns if they are prone to collisions. # Delegating to `Array#hash` is clearer and safer, although it might be slower # depending on the use case. # # @example # # # bad # def hash # @foo ^ @bar # end # # # good # def hash # [@foo, @bar].hash # end # # source://rubocop//lib/rubocop/cop/security/compound_hash.rb#30 class RuboCop::Cop::Security::CompoundHash < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#58
def bad_hash_combinator?(param0 = T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#75
def contained_in_hash_method?(node, &block); end

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#42
def dynamic_hash_method_definition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#37
def hash_method_definition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#63
def monuple_hash?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#87
def on_op_asgn(node); end

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#87
def on_send(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#81
def outer_bad_hash_combinator?(node); end

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#68
def redundant_hash?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#51
def static_hash_method_definition?(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#31 RuboCop::Cop::Security::CompoundHash::COMBINATOR_IN_HASH_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#32 RuboCop::Cop::Security::CompoundHash::MONUPLE_HASH_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/security/compound_hash.rb#34 RuboCop::Cop::Security::CompoundHash::REDUNDANT_HASH_MSG = T.let(T.unsafe(nil), String)

# Checks for the use of ‘Kernel#eval` and `Binding#eval`. # # @example # # # bad # # eval(something) # binding.eval(something) # # source://rubocop//lib/rubocop/cop/security/eval.rb#14 class RuboCop::Cop::Security::Eval < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/security/eval.rb#19
def eval?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/security/eval.rb#23
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/security/eval.rb#15 RuboCop::Cop::Security::Eval::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/security/eval.rb#16 RuboCop::Cop::Security::Eval::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for the first argument to ‘IO.read`, `IO.binread`, `IO.write`, `IO.binwrite`, # `IO.foreach`, and `IO.readlines`. # # If argument starts with a pipe character (`’|‘`) and the receiver is the `IO` class, # a subprocess is created in the same way as `Kernel#open`, and its output is returned. # `Kernel#open` may allow unintentional command injection, which is the reason these # `IO` methods are a security risk. # Consider to use `File.read` to disable the behavior of subprocess invocation. # # @example # # # bad # IO.read(path) # IO.read(’path’) # # # good # File.read(path) # File.read(‘path’) # IO.read(‘| command’) # Allow intentional command invocation. # # source://rubocop//lib/rubocop/cop/security/io_methods.rb#30 class RuboCop::Cop::Security::IoMethods < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/security/io_methods.rb#36
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/security/io_methods.rb#33 RuboCop::Cop::Security::IoMethods::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/security/io_methods.rb#34 RuboCop::Cop::Security::IoMethods::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for the use of JSON class methods which have potential # security issues. # # @example # # bad # JSON.load(“{}”) # JSON.restore(“{}”) # # # good # JSON.parse(“{}”) # # source://rubocop//lib/rubocop/cop/security/json_load.rb#26 class RuboCop::Cop::Security::JSONLoad < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/security/json_load.rb#33
def json_load(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/security/json_load.rb#37
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/security/json_load.rb#29 RuboCop::Cop::Security::JSONLoad::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/security/json_load.rb#30 RuboCop::Cop::Security::JSONLoad::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for the use of Marshal class methods which have # potential security issues leading to remote code execution when # loading from an untrusted source. # # @example # # bad # Marshal.load(“{}”) # Marshal.restore(“{}”) # # # good # Marshal.dump(“{}”) # # # okish - deep copy hack # Marshal.load(Marshal.dump({})) # # source://rubocop//lib/rubocop/cop/security/marshal_load.rb#21 class RuboCop::Cop::Security::MarshalLoad < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/security/marshal_load.rb#26
def marshal_load(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/security/marshal_load.rb#31
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/security/marshal_load.rb#22 RuboCop::Cop::Security::MarshalLoad::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/security/marshal_load.rb#23 RuboCop::Cop::Security::MarshalLoad::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for the use of ‘Kernel#open` and `URI.open` with dynamic # data. # # `Kernel#open` and `URI.open` enable not only file access but also process # invocation by prefixing a pipe symbol (e.g., `open(“| ls”)`). # So, it may lead to a serious security risk by using variable input to # the argument of `Kernel#open` and `URI.open`. It would be better to use # `File.open`, `IO.popen` or `URI.parse#open` explicitly. # # NOTE: `open` and `URI.open` with literal strings are not flagged by this # cop. # # @example # # bad # open(something) # open(“| #{something}”) # open(“| foo”) # URI.open(something) # # # good # File.open(something) # IO.popen(something) # URI.parse(something).open # # # good (literal strings) # open(“foo.text”) # URI.open(“example.com”) # # source://rubocop//lib/rubocop/cop/security/open.rb#37 class RuboCop::Cop::Security::Open < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/security/open.rb#46
def on_send(node); end

# source://rubocop//lib/rubocop/cop/security/open.rb#42
def open?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/security/open.rb#75
def composite_string?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/security/open.rb#83
def concatenated_string?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/security/open.rb#79
def interpolated_string?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/security/open.rb#57
def safe?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/security/open.rb#67
def safe_argument?(argument); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/security/open.rb#71
def simple_string?(node); end

end

# source://rubocop//lib/rubocop/cop/security/open.rb#38 RuboCop::Cop::Security::Open::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/security/open.rb#39 RuboCop::Cop::Security::Open::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for the use of YAML class methods which have # potential security issues leading to remote code execution when # loading from an untrusted source. # # NOTE: Ruby 3.1+ (Psych 4) uses ‘Psych.load` as `Psych.safe_load` by default. # # @example # # bad # YAML.load(“— !ruby/object:Foo {}”) # Psych 3 is unsafe by default # # # good # YAML.safe_load(“— !ruby/object:Foo {}”, [Foo]) # Ruby 2.5 (Psych 3) # YAML.safe_load(“— !ruby/object:Foo {}”, permitted_classes: [Foo]) # Ruby 3.0- (Psych 3) # YAML.load(“— !ruby/object:Foo {}”, permitted_classes: [Foo]) # Ruby 3.1+ (Psych 4) # YAML.dump(foo) # # source://rubocop//lib/rubocop/cop/security/yaml_load.rb#26 class RuboCop::Cop::Security::YAMLLoad < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/security/yaml_load.rb#37
def on_send(node); end

# source://rubocop//lib/rubocop/cop/security/yaml_load.rb#33
def yaml_load(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/security/yaml_load.rb#29 RuboCop::Cop::Security::YAMLLoad::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/security/yaml_load.rb#30 RuboCop::Cop::Security::YAMLLoad::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Severity class is simple value object about severity # # source://rubocop//lib/rubocop/cop/severity.rb#6 class RuboCop::Cop::Severity

include ::Comparable

# @api private
# @raise [ArgumentError]
# @return [Severity] a new instance of Severity
#
# source://rubocop//lib/rubocop/cop/severity.rb#30
def initialize(name_or_code); end

# source://rubocop//lib/rubocop/cop/severity.rb#62
def <=>(other); end

# source://rubocop//lib/rubocop/cop/severity.rb#50
def ==(other); end

# source://rubocop//lib/rubocop/cop/severity.rb#42
def code; end

# source://rubocop//lib/rubocop/cop/severity.rb#58
def hash; end

# source://rubocop//lib/rubocop/cop/severity.rb#46
def level; end

# @api public
# @return [Symbol] severity.
#   any of `:info`, `:refactor`, `:convention`, `:warning`, `:error` or `:fatal`.
#
# source://rubocop//lib/rubocop/cop/severity.rb#22
def name; end

# source://rubocop//lib/rubocop/cop/severity.rb#38
def to_s; end

class << self
  # source://rubocop//lib/rubocop/cop/severity.rb#24
  def name_from_code(code); end
end

end

# @api private # # source://rubocop//lib/rubocop/cop/severity.rb#12 RuboCop::Cop::Severity::CODE_TABLE = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/severity.rb#9 RuboCop::Cop::Severity::NAMES = T.let(T.unsafe(nil), Array)

# Common functionality for cops checking for missing space after # punctuation. # # source://rubocop//lib/rubocop/cop/mixin/space_after_punctuation.rb#7 module RuboCop::Cop::SpaceAfterPunctuation

# source://rubocop//lib/rubocop/cop/mixin/space_after_punctuation.rb#10
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/space_after_punctuation.rb#38
def allowed_type?(token); end

# source://rubocop//lib/rubocop/cop/mixin/space_after_punctuation.rb#20
def each_missing_space(tokens); end

# The normal offset, i.e., the distance from the punctuation
# token where a space should be, is 1.
#
# source://rubocop//lib/rubocop/cop/mixin/space_after_punctuation.rb#49
def offset; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/space_after_punctuation.rb#42
def space_forbidden_before_rcurly?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/space_after_punctuation.rb#30
def space_missing?(token1, token2); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/space_after_punctuation.rb#34
def space_required_before?(token); end

end

# source://rubocop//lib/rubocop/cop/mixin/space_after_punctuation.rb#8 RuboCop::Cop::SpaceAfterPunctuation::MSG = T.let(T.unsafe(nil), String)

# Common functionality for cops checking for space before # punctuation. # # source://rubocop//lib/rubocop/cop/mixin/space_before_punctuation.rb#7 module RuboCop::Cop::SpaceBeforePunctuation

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/mixin/space_before_punctuation.rb#12
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/mixin/space_before_punctuation.rb#22
def each_missing_space(tokens); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/space_before_punctuation.rb#34
def space_missing?(token1, token2); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/space_before_punctuation.rb#38
def space_required_after?(token); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/space_before_punctuation.rb#42
def space_required_after_lcurly?; end

end

# source://rubocop//lib/rubocop/cop/mixin/space_before_punctuation.rb#10 RuboCop::Cop::SpaceBeforePunctuation::MSG = T.let(T.unsafe(nil), String)

# This autocorrects whitespace # # source://rubocop//lib/rubocop/cop/correctors/space_corrector.rb#6 class RuboCop::Cop::SpaceCorrector

extend ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::SurroundingSpace

class << self
  # source://rubocop//lib/rubocop/cop/correctors/space_corrector.rb#36
  def add_space(processed_source, corrector, left_token, right_token); end

  # source://rubocop//lib/rubocop/cop/correctors/space_corrector.rb#12
  def empty_corrections(processed_source, corrector, empty_config, left_token, right_token); end

  # Returns the value of attribute processed_source.
  #
  # source://rubocop//lib/rubocop/cop/correctors/space_corrector.rb#10
  def processed_source; end

  # source://rubocop//lib/rubocop/cop/correctors/space_corrector.rb#24
  def remove_space(processed_source, corrector, left_token, right_token); end
end

end

# Common functionality for modifier cops. # # source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#6 module RuboCop::Cop::StatementModifier

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
include ::RuboCop::Cop::RangeHelp

private

# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#79
def code_after(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#103
def comment_disables_cop?(comment); end

# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#71
def first_line_comment(node); end

# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#58
def if_body_source(if_body); end

# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#44
def length_in_modifier_form(node); end

# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#97
def max_line_length; end

# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#67
def method_source(if_body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#38
def modifier_fits_on_single_line?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#27
def non_eligible_body?(body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#34
def non_eligible_condition?(condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#20
def non_eligible_node?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#85
def parenthesize?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#12
def single_line_as_modifier?(node); end

# source://rubocop//lib/rubocop/cop/mixin/statement_modifier.rb#51
def to_modifier_form(node); end

end

# Classes that include this module just implement functions to determine # what is an offense and how to do autocorrection. They get help with # adding offenses for the faulty string nodes, and with filtering out # nodes. # # source://rubocop//lib/rubocop/cop/mixin/string_help.rb#9 module RuboCop::Cop::StringHelp

# source://rubocop//lib/rubocop/cop/mixin/string_help.rb#26
def on_regexp(node); end

# source://rubocop//lib/rubocop/cop/mixin/string_help.rb#10
def on_str(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/string_help.rb#32
def inside_interpolation?(node); end

end

# This autocorrects string literals # # source://rubocop//lib/rubocop/cop/correctors/string_literal_corrector.rb#6 class RuboCop::Cop::StringLiteralCorrector

extend ::RuboCop::PathUtil
extend ::RuboCop::Cop::Util

class << self
  # source://rubocop//lib/rubocop/cop/correctors/string_literal_corrector.rb#10
  def correct(corrector, node, style); end
end

end

# Common functionality for cops checking single/double quotes. # # source://rubocop//lib/rubocop/cop/mixin/string_literals_help.rb#6 module RuboCop::Cop::StringLiteralsHelp

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/string_literals_help.rb#9
def wrong_quotes?(src_or_node); end

end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#5 module RuboCop::Cop::Style; end

# Access modifiers should be declared to apply to a group of methods # or inline before each method, depending on configuration. # EnforcedStyle config covers only method definitions. # Applications of visibility methods to symbols can be controlled # using AllowModifiersOnSymbols config. # # @example EnforcedStyle: group (default) # # bad # class Foo # # private def bar; end # private def baz; end # # end # # # good # class Foo # # private # # def bar; end # def baz; end # # end # @example EnforcedStyle: inline # # bad # class Foo # # private # # def bar; end # def baz; end # # end # # # good # class Foo # # private def bar; end # private def baz; end # # end # @example AllowModifiersOnSymbols: true (default) # # good # class Foo # # private :bar, :baz # # end # @example AllowModifiersOnSymbols: false # # bad # class Foo # # private :bar, :baz # # end # # source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#70 class RuboCop::Cop::Style::AccessModifierDeclarations < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#91
def access_modifier_with_symbol?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#95
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#145
def access_modifier_is_inlined?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#149
def access_modifier_is_not_inlined?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#127
def allow_modifiers_on_symbols?(node); end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#112
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#219
def def_source(node, def_node); end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#180
def find_argument_less_modifier_node(node); end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#169
def find_corresponding_def_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#137
def group_style?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#141
def inline_style?; end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#211
def insert_inline_modifier(corrector, node, modifier_name); end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#159
def message(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#131
def offense?(node); end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#215
def remove_node(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#194
def replace_def(corrector, node, def_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#153
def right_siblings_same_inline_method?(node); end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#188
def select_grouped_def_nodes(node); end

end

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#88 RuboCop::Cop::Style::AccessModifierDeclarations::ALLOWED_NODE_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#76 RuboCop::Cop::Style::AccessModifierDeclarations::GROUP_STYLE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#81 RuboCop::Cop::Style::AccessModifierDeclarations::INLINE_STYLE_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/access_modifier_declarations.rb#86 RuboCop::Cop::Style::AccessModifierDeclarations::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for grouping of accessors in ‘class` and `module` bodies. # By default it enforces accessors to be placed in grouped declarations, # but it can be configured to enforce separating them in multiple declarations. # # NOTE: If there is a method call before the accessor method it is always allowed # as it might be intended like Sorbet. # # @example EnforcedStyle: grouped (default) # # bad # class Foo # attr_reader :bar # attr_reader :bax # attr_reader :baz # end # # # good # class Foo # attr_reader :bar, :bax, :baz # end # # # good # class Foo # # may be intended comment for bar. # attr_reader :bar # # sig { returns(String) } # attr_reader :bax # # may_be_intended_annotation :baz # attr_reader :baz # end # @example EnforcedStyle: separated # # bad # class Foo # attr_reader :bar, :baz # end # # # good # class Foo # attr_reader :bar # attr_reader :baz # end # # source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#50 class RuboCop::Cop::Style::AccessorGrouping < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::VisibilityHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#59
def on_class(node); end

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#59
def on_module(node); end

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#59
def on_sclass(node); end

private

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#82
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#71
def check(send_node); end

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#114
def class_send_elements(class_node); end

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#157
def group_accessors(node, accessors); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#96
def groupable_accessor?(node); end

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#134
def groupable_sibling_accessors(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#126
def grouped_style?; end

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#143
def message(send_node); end

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#148
def preferred_accessors(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#91
def previous_line_comment?(node); end

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#163
def separate_accessors(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#130
def separated_style?; end

end

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#56 RuboCop::Cop::Style::AccessorGrouping::GROUPED_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/accessor_grouping.rb#57 RuboCop::Cop::Style::AccessorGrouping::SEPARATED_MSG = T.let(T.unsafe(nil), String)

# Enforces the use of either ‘#alias` or `#alias_method` # depending on configuration. # It also flags uses of `alias :symbol` rather than `alias bareword`. # # However, it will always enforce `method_alias` when used `alias` # in an instance method definition and in a singleton method definition. # If used in a block, always enforce `alias_method` # unless it is an `instance_eval` block. # # @example EnforcedStyle: prefer_alias (default) # # bad # alias_method :bar, :foo # alias :bar :foo # # # good # alias bar foo # @example EnforcedStyle: prefer_alias_method # # bad # alias :bar :foo # alias bar foo # # # good # alias_method :bar, :foo # # source://rubocop//lib/rubocop/cop/style/alias.rb#31 class RuboCop::Cop::Style::Alias < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/alias.rb#52
def on_alias(node); end

# source://rubocop//lib/rubocop/cop/style/alias.rb#41
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/alias.rb#86
def add_offense_for_args(node, &block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/alias.rb#76
def alias_keyword_possible?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/alias.rb#80
def alias_method_possible?(node); end

# source://rubocop//lib/rubocop/cop/style/alias.rb#66
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/alias.rb#125
def bareword?(sym_node); end

# source://rubocop//lib/rubocop/cop/style/alias.rb#129
def correct_alias_method_to_alias(corrector, send_node); end

# source://rubocop//lib/rubocop/cop/style/alias.rb#136
def correct_alias_to_alias_method(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/alias.rb#143
def correct_alias_with_symbol_args(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/alias.rb#148
def identifier(node); end

# source://rubocop//lib/rubocop/cop/style/alias.rb#114
def lexical_scope_type(node); end

# In this expression, will `self` be the same as the innermost enclosing
# class or module block (:lexical)? Or will it be something else
# (:dynamic)? If we're in an instance_eval block, return that.
#
# source://rubocop//lib/rubocop/cop/style/alias.rb#97
def scope_type(node); end

end

# source://rubocop//lib/rubocop/cop/style/alias.rb#35 RuboCop::Cop::Style::Alias::MSG_ALIAS = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/alias.rb#36 RuboCop::Cop::Style::Alias::MSG_ALIAS_METHOD = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/alias.rb#37 RuboCop::Cop::Style::Alias::MSG_SYMBOL_ARGS = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/alias.rb#39 RuboCop::Cop::Style::Alias::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for uses of ‘and` and `or`, and suggests using `&&` and # `||` instead. It can be configured to check only in conditions or in # all contexts. # # @example EnforcedStyle: conditionals (default) # # bad # if foo and bar # end # # # good # foo.save && return # # # good # foo.save and return # # # good # if foo && bar # end # @example EnforcedStyle: always # # bad # foo.save and return # # # bad # if foo and bar # end # # # good # foo.save && return # # # good # if foo && bar # end # # source://rubocop//lib/rubocop/cop/style/and_or.rb#44 class RuboCop::Cop::Style::AndOr < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/and_or.rb#51
def on_and(node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#56
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#51
def on_or(node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#56
def on_until(node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#56
def on_until_post(node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#56
def on_while(node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#56
def on_while_post(node); end

private

# ! is a special case:
# 'x and !obj.method arg' can be autocorrected if we
# recurse down a level and add parens to 'obj.method arg'
# however, 'not x' also parses as (send x :!)
#
# source://rubocop//lib/rubocop/cop/style/and_or.rb#117
def correct_not(node, receiver, corrector); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#129
def correct_other(node, corrector); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#95
def correct_send(node, corrector); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#108
def correct_setter(node, corrector); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/and_or.rb#143
def correctable_send?(node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#135
def keep_operator_precedence(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#91
def message(node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#85
def on_conditionals(node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#66
def process_logical_operator(node); end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#147
def whitespace_before_arg(node); end

end

# source://rubocop//lib/rubocop/cop/style/and_or.rb#49 RuboCop::Cop::Style::AndOr::MSG = T.let(T.unsafe(nil), String)

# In Ruby 2.7, arguments forwarding has been added. # # This cop identifies places where ‘do_something(*args, &block)` # can be replaced by `do_something(…)`. # # In Ruby 3.1, anonymous block forwarding has been added. # # This cop identifies places where `do_something(&block)` can be replaced # by `do_something(&)`; if desired, this functionality can be disabled # by setting `UseAnonymousForwarding: false`. # # In Ruby 3.2, anonymous args/kwargs forwarding has been added. # # This cop also identifies places where `use_args(*args)`/`use_kwargs(**kwargs)` can be # replaced by `use_args(*)`/`use_kwargs(**)`; if desired, this functionality can be disabled # by setting `UseAnonymousForwarding: false`. # # And this cop has `RedundantRestArgumentNames`, `RedundantKeywordRestArgumentNames`, # and `RedundantBlockArgumentNames` options. This configuration is a list of redundant names # that are sufficient for anonymizing meaningless naming. # # Meaningless names that are commonly used can be anonymized by default: # e.g., `*args`, `**options`, `&block`, and so on. # # Names not on this list are likely to be meaningful and are allowed by default. # # @example # # bad # def foo(*args, &block) # bar(*args, &block) # end # # # bad # def foo(*args, **kwargs, &block) # bar(*args, **kwargs, &block) # end # # # good # def foo(…) # bar(…) # end # @example UseAnonymousForwarding: true (default, only relevant for Ruby >= 3.2) # # bad # def foo(*args, **kwargs, &block) # args_only(*args) # kwargs_only(**kwargs) # block_only(&block) # end # # # good # def foo(*, **, &) # args_only(*) # kwargs_only(**) # block_only(&) # end # @example UseAnonymousForwarding: false (only relevant for Ruby >= 3.2) # # good # def foo(*args, **kwargs, &block) # args_only(*args) # kwargs_only(**kwargs) # block_only(&block) # end # @example AllowOnlyRestArgument: true (default, only relevant for Ruby < 3.2) # # good # def foo(*args) # bar(*args) # end # # def foo(**kwargs) # bar(**kwargs) # end # @example AllowOnlyRestArgument: false (only relevant for Ruby < 3.2) # # bad # # The following code can replace the arguments with `…`, # # but it will change the behavior. Because `…` forwards block also. # def foo(*args) # bar(*args) # end # # def foo(**kwargs) # bar(**kwargs) # end # @example RedundantRestArgumentNames: [’args’, ‘arguments’] (default) # # bad # def foo(*args) # bar(*args) # end # # # good # def foo(*) # bar(*) # end # @example RedundantKeywordRestArgumentNames: [‘kwargs’, ‘options’, ‘opts’] (default) # # bad # def foo(**kwargs) # bar(**kwargs) # end # # # good # def foo(**) # bar(**) # end # @example RedundantBlockArgumentNames: [‘blk’, ‘block’, ‘proc’] (default) # # bad - But it is good with ‘EnforcedStyle: explicit` set for `Naming/BlockForwarding`. # def foo(&block) # bar(&block) # end # # # good # def foo(&) # bar(&) # end # # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#125 class RuboCop::Cop::Style::ArgumentsForwarding < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#144
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#144
def on_defs(node); end

private

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#185
def add_forward_all_offenses(node, send_classifications, forwardable_args); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#350
def add_parens_if_missing(node, corrector); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#212
def add_post_ruby_32_offenses(def_node, send_classifications, forwardable_args); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#342
def allow_only_rest_arguments?; end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#334
def arguments_range(node, first_node); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#263
def classification_and_forwards(def_node, send_node, referenced_lvars, forwardable_args); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#248
def classify_send_nodes(def_node, send_nodes, referenced_lvars, forwardable_args); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#494
def explicit_block_name?; end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#168
def extract_forwardable_args(args); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#238
def non_splat_or_block_pass_lvar_references(body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#180
def only_forwards_all?(send_classifications); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#292
def outside_block?(node); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#172
def redundant_forwardable_named_args(restarg, kwrestarg, blockarg); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#282
def redundant_named_arg(arg, config_name, keyword); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#324
def register_forward_all_offense(def_or_send, send_or_arguments, rest_or_splat); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#298
def register_forward_args_offense(def_arguments_or_send, rest_arg_or_splat); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#314
def register_forward_block_arg_offense(add_parens, def_arguments_or_send, block_arg); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#306
def register_forward_kwargs_offense(add_parens, def_arguments_or_send, kwrest_arg_or_splat); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#346
def use_anonymous_forwarding?; end

class << self
  # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#140
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#133 RuboCop::Cop::Style::ArgumentsForwarding::ADDITIONAL_ARG_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#136 RuboCop::Cop::Style::ArgumentsForwarding::ARGS_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#138 RuboCop::Cop::Style::ArgumentsForwarding::BLOCK_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#132 RuboCop::Cop::Style::ArgumentsForwarding::FORWARDING_LVAR_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#135 RuboCop::Cop::Style::ArgumentsForwarding::FORWARDING_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#137 RuboCop::Cop::Style::ArgumentsForwarding::KWARGS_MSG = T.let(T.unsafe(nil), String)

# Classifies send nodes for possible rest/kwrest/all (including block) forwarding. # # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#357 class RuboCop::Cop::Style::ArgumentsForwarding::SendNodeClassifier

extend ::RuboCop::AST::NodePattern::Macros

# @return [SendNodeClassifier] a new instance of SendNodeClassifier
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#369
def initialize(def_node, send_node, referenced_lvars, forwardable_args, **config); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#397
def classification; end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#364
def extract_forwarded_kwrest_arg(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#391
def forwarded_block_arg; end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#367
def forwarded_block_arg?(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#385
def forwarded_kwrest_arg; end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#379
def forwarded_rest_arg; end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#361
def forwarded_rest_arg?(param0 = T.unsafe(nil), param1); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#465
def additional_kwargs?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#461
def additional_kwargs_or_forwarded_kwargs?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#475
def allow_offense_for_no_block?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#446
def any_arg_referenced?; end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#430
def arguments; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#409
def can_forward_all?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#469
def forward_additional_kwargs?; end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#426
def forwarded_rest_and_kwrest_args; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#488
def missing_rest_arg_or_kwrest_arg?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#479
def no_additional_args?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#454
def no_post_splat_args?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#422
def offensive_block_forwarding?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#442
def referenced_block_arg?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#438
def referenced_kwrest_arg?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#434
def referenced_rest_arg?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#418
def ruby_32_missing_rest_or_kwest?; end

# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#450
def target_ruby_version; end

end

# Enforces the use of ‘Array()` instead of explicit `Array` check or `[*var]`. # # The cop is disabled by default due to safety concerns. # # @example # # bad # paths = [paths] unless paths.is_a?(Array) # paths.each { |path| do_something(path) } # # # bad (always creates a new Array instance) # [*paths].each { |path| do_something(path) } # # # good (and a bit more readable) # Array(paths).each { |path| do_something(path) } # # source://rubocop//lib/rubocop/cop/style/array_coercion.rb#41 class RuboCop::Cop::Style::ArrayCoercion < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/array_coercion.rb#48
def array_splat?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/array_coercion.rb#63
def on_array(node); end

# source://rubocop//lib/rubocop/cop/style/array_coercion.rb#74
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/array_coercion.rb#53
def unless_array?(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/style/array_coercion.rb#45 RuboCop::Cop::Style::ArrayCoercion::CHECK_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/array_coercion.rb#44 RuboCop::Cop::Style::ArrayCoercion::SPLAT_MSG = T.let(T.unsafe(nil), String)

# Identifies usages of ‘arr` and `arr` and suggests to change # them to use `arr.first` and `arr.last` instead. # # The cop is disabled by default due to safety concerns. # # @example # # bad # arr # arr # # # good # arr.first # arr.last # arr = 2 # arr[-2] # # source://rubocop//lib/rubocop/cop/style/array_first_last.rb#28 class RuboCop::Cop::Style::ArrayFirstLast < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/array_first_last.rb#35
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/array_first_last.rb#58
def brace_method?(node); end

# source://rubocop//lib/rubocop/cop/style/array_first_last.rb#53
def innermost_braces_node(node); end

end

# source://rubocop//lib/rubocop/cop/style/array_first_last.rb#31 RuboCop::Cop::Style::ArrayFirstLast::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/array_first_last.rb#32 RuboCop::Cop::Style::ArrayFirstLast::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# In Ruby 3.1, ‘Array#intersect?` has been added. # # This cop identifies places where `(array1 & array2).any?` # can be replaced by `array1.intersect?(array2)`. # # The `array1.intersect?(array2)` method is faster than # `(array1 & array2).any?` and is more readable. # # In cases like the following, compatibility is not ensured, # so it will not be detected when using block argument. # # [source,ruby] # —- # ([1] & [1,2]).any? { |x| false } # => false # [1].intersect?() { |x| false } # => true # —- # # @example # # bad # (array1 & array2).any? # (array1 & array2).empty? # # # good # array1.intersect?(array2) # !array1.intersect?(array2) # @example AllCops:ActiveSupportExtensionsEnabled: false (default) # # good # (array1 & array2).present? # (array1 & array2).blank? # @example AllCops:ActiveSupportExtensionsEnabled: true # # bad # (array1 & array2).present? # (array1 & array2).blank? # # # good # array1.intersect?(array2) # !array1.intersect?(array2) # # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#49 class RuboCop::Cop::Style::ArrayIntersect < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#65
def active_support_bad_intersection_check?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#79
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#56
def regular_bad_intersection_check?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#94
def bad_intersection_check?(node); end

# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#106
def message(receiver, argument, method_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#102
def straight?(method_name); end

end

# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#73 RuboCop::Cop::Style::ArrayIntersect::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#76 RuboCop::Cop::Style::ArrayIntersect::NEGATED_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#77 RuboCop::Cop::Style::ArrayIntersect::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#75 RuboCop::Cop::Style::ArrayIntersect::STRAIGHT_METHODS = T.let(T.unsafe(nil), Array)

# Checks for uses of “*” as a substitute for join. # # Not all cases can reliably checked, due to Ruby’s dynamic # types, so we consider only cases when the first argument is an # array literal or the second is a string literal. # # @example # # # bad # %w(foo bar baz) * “,” # # # good # %w(foo bar baz).join(“,”) # # source://rubocop//lib/rubocop/cop/style/array_join.rb#20 class RuboCop::Cop::Style::ArrayJoin < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/array_join.rb#27
def join_candidate?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/array_join.rb#29
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/array_join.rb#23 RuboCop::Cop::Style::ArrayJoin::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/array_join.rb#24 RuboCop::Cop::Style::ArrayJoin::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/ascii_comments.rb#16 class RuboCop::Cop::Style::AsciiComments < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/style/ascii_comments.rb#21
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/ascii_comments.rb#51
def allowed_non_ascii_chars; end

# source://rubocop//lib/rubocop/cop/style/ascii_comments.rb#42
def first_non_ascii_chars(string); end

# source://rubocop//lib/rubocop/cop/style/ascii_comments.rb#32
def first_offense_range(comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ascii_comments.rb#46
def only_allowed_non_ascii_chars?(string); end

end

# source://rubocop//lib/rubocop/cop/style/ascii_comments.rb#19 RuboCop::Cop::Style::AsciiComments::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of Module#attr. # # @example # # bad - creates a single attribute accessor (deprecated in Ruby 1.9) # attr :something, true # attr :one, :two, :three # behaves as attr_reader # # # good # attr_accessor :something # attr_reader :one, :two, :three # # source://rubocop//lib/rubocop/cop/style/attr.rb#17 class RuboCop::Cop::Style::Attr < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/attr.rb#74
def class_eval?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/attr.rb#24
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/attr.rb#37
def allowed_context?(node); end

# source://rubocop//lib/rubocop/cop/style/attr.rb#47
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/attr.rb#43
def define_attr_method?(node); end

# source://rubocop//lib/rubocop/cop/style/attr.rb#59
def message(node); end

# source://rubocop//lib/rubocop/cop/style/attr.rb#63
def replacement_method(node); end

end

# source://rubocop//lib/rubocop/cop/style/attr.rb#21 RuboCop::Cop::Style::Attr::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/attr.rb#22 RuboCop::Cop::Style::Attr::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for cases when you could use a block # accepting version of a method that does automatic # resource cleanup. # # @example # # # bad # f = File.open(‘file’) # # # good # File.open(‘file’) do |f| # # … # end # # # bad # f = Tempfile.open(‘temp’) # # # good # Tempfile.open(‘temp’) do |f| # # … # end # # source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#27 class RuboCop::Cop::Style::AutoResourceCleanup < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#32
def file_open_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#36
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#46
def cleanup?(node); end

end

# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#28 RuboCop::Cop::Style::AutoResourceCleanup::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#29 RuboCop::Cop::Style::AutoResourceCleanup::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks if usage of %() or %Q() matches configuration. # # @example EnforcedStyle: bare_percent (default) # # bad # %Q(He said: “#{greeting}”) # %q{She said: ‘Hi’} # # # good # %(He said: “#{greeting}”) # %{She said: ‘Hi’} # @example EnforcedStyle: percent_q # # bad # %|He said: “#{greeting}”| # %/She said: ‘Hi’/ # # # good # %Q|He said: “#{greeting}”| # %q/She said: ‘Hi’/ # # source://rubocop//lib/rubocop/cop/style/bare_percent_literals.rb#26 class RuboCop::Cop::Style::BarePercentLiterals < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/bare_percent_literals.rb#32
def on_dstr(node); end

# source://rubocop//lib/rubocop/cop/style/bare_percent_literals.rb#36
def on_str(node); end

private

# source://rubocop//lib/rubocop/cop/style/bare_percent_literals.rb#63
def add_offense_for_wrong_style(node, good, bad); end

# source://rubocop//lib/rubocop/cop/style/bare_percent_literals.rb#42
def check(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/bare_percent_literals.rb#59
def requires_bare_percent?(source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/bare_percent_literals.rb#55
def requires_percent_q?(source); end

end

# source://rubocop//lib/rubocop/cop/style/bare_percent_literals.rb#30 RuboCop::Cop::Style::BarePercentLiterals::MSG = T.let(T.unsafe(nil), String)

# Checks for BEGIN blocks. # # @example # # bad # BEGIN { test } # # source://rubocop//lib/rubocop/cop/style/begin_block.rb#12 class RuboCop::Cop::Style::BeginBlock < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/begin_block.rb#15
def on_preexe(node); end

end

# source://rubocop//lib/rubocop/cop/style/begin_block.rb#13 RuboCop::Cop::Style::BeginBlock::MSG = T.let(T.unsafe(nil), String)

# Checks for places where ‘attr_reader` and `attr_writer` # for the same method can be combined into single `attr_accessor`. # # @example # # bad # class Foo # attr_reader :bar # attr_writer :bar # end # # # good # class Foo # attr_accessor :bar # end # # source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#21 class RuboCop::Cop::Style::BisectedAttrAccessor < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# Each offending macro is captured and registered in `on_class` but correction
# happens in `after_class` because a macro might have multiple attributes
# rewritten from it
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#55
def after_class(class_node); end

# Each offending macro is captured and registered in `on_class` but correction
# happens in `after_class` because a macro might have multiple attributes
# rewritten from it
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#55
def after_module(class_node); end

# Each offending macro is captured and registered in `on_class` but correction
# happens in `after_class` because a macro might have multiple attributes
# rewritten from it
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#55
def after_sclass(class_node); end

# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#33
def on_class(class_node); end

# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#33
def on_module(class_node); end

# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#29
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#33
def on_sclass(class_node); end

private

# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#102
def correct_reader(corrector, macro, node, range); end

# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#114
def correct_writer(corrector, macro, node, range); end

# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#91
def find_bisection(macros); end

# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#74
def find_macros(class_def); end

# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#98
def register_offense(attr); end

end

# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor.rb#27 RuboCop::Cop::Style::BisectedAttrAccessor::MSG = T.let(T.unsafe(nil), String)

# Representation of an ‘attr_reader`, `attr_writer` or `attr` macro # for use by `Style/BisectedAttrAccessor`. # # @api private # # source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#10 class RuboCop::Cop::Style::BisectedAttrAccessor::Macro

include ::RuboCop::Cop::VisibilityHelp

# @api private
# @return [Macro] a new instance of Macro
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#19
def initialize(node); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#49
def all_bisected?; end

# @api private
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#29
def attr_names; end

# @api private
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#13
def attrs; end

# @api private
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#25
def bisect(*names); end

# @api private
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#33
def bisected_names; end

# @api private
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#13
def bisection; end

# @api private
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#13
def node; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#41
def reader?; end

# @api private
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#53
def rest; end

# @api private
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#37
def visibility; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#45
def writer?; end

class << self
  # @api private
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/style/bisected_attr_accessor/macro.rb#15
  def macro?(node); end
end

end

# Looks for uses of block comments (=begin…=end). # # @example # # bad # =begin # Multiple lines # of comments… # =end # # # good # # Multiple lines # # of comments… # # source://rubocop//lib/rubocop/cop/style/block_comments.rb#19 class RuboCop::Cop::Style::BlockComments < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/block_comments.rb#27
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/block_comments.rb#56
def eq_end_part(comment, expr); end

# source://rubocop//lib/rubocop/cop/style/block_comments.rb#48
def parts(comment); end

end

# source://rubocop//lib/rubocop/cop/style/block_comments.rb#24 RuboCop::Cop::Style::BlockComments::BEGIN_LENGTH = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cop/style/block_comments.rb#25 RuboCop::Cop::Style::BlockComments::END_LENGTH = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cop/style/block_comments.rb#23 RuboCop::Cop::Style::BlockComments::MSG = T.let(T.unsafe(nil), String)

# Check for uses of braces or do/end around single line or # multi-line blocks. # # Methods that can be either procedural or functional and cannot be # categorised from their usage alone is ignored. # ‘lambda`, `proc`, and `it` are their defaults. # Additional methods can be added to the `AllowedMethods`. # # @example EnforcedStyle: line_count_based (default) # # bad - single line block # items.each do |item| item / 5 end # # # good - single line block # items.each { |item| item / 5 } # # # bad - multi-line block # things.map { |thing| # something = thing.some_method # process(something) # } # # # good - multi-line block # things.map do |thing| # something = thing.some_method # process(something) # end # @example EnforcedStyle: semantic # # Prefer `do…end` over `{…}` for procedural blocks. # # # return value is used/assigned # # bad # foo = map do |x| # x # end # puts (map do |x| # x # end) # # # return value is not used out of scope # # good # map do |x| # x # end # # # Prefer `{…}` over `do…end` for functional blocks. # # # return value is not used out of scope # # bad # each { |x| # x # } # # # return value is used/assigned # # good # foo = map { |x| # x # } # map { |x| # x # }.inspect # # # The AllowBracesOnProceduralOneLiners option is allowed unless the # # EnforcedStyle is set to `semantic`. If so: # # # If the AllowBracesOnProceduralOneLiners option is unspecified, or # # set to `false` or any other falsey value, then semantic purity is # # maintained, so one-line procedural blocks must use do-end, not # # braces. # # # bad # collection.each { |element| puts element } # # # good # collection.each do |element| puts element end # # # If the AllowBracesOnProceduralOneLiners option is set to `true`, or # # any other truthy value, then one-line procedural blocks may use # # either style. (There is no setting for requiring braces on them.) # # # good # collection.each { |element| puts element } # # # also good # collection.each do |element| puts element end # @example EnforcedStyle: braces_for_chaining # # bad # words.each do |word| # word.flip.flop # end.join(“-”) # # # good # words.each { |word| # word.flip.flop # }.join(“-”) # @example EnforcedStyle: always_braces # # bad # words.each do |word| # word.flip.flop # end # # # good # words.each { |word| # word.flip.flop # } # @example BracesRequiredMethods: [’sig’] # # # Methods listed in the BracesRequiredMethods list, such as ‘sig’ # # in this example, will require ‘{…}` braces. This option takes # # precedence over all other configurations except AllowedMethods. # # # bad # sig do # params( # foo: string, # ).void # end # def bar(foo) # puts foo # end # # # good # sig { # params( # foo: string, # ).void # } # def bar(foo) # puts foo # end # @example AllowedMethods: [’lambda’, ‘proc’, ‘it’ ] (default) # # # good # foo = lambda do |x| # puts “Hello, #{x}” # end # # foo = lambda do |x| # x * 100 # end # @example AllowedPatterns: [] (default) # # # bad # things.map { |thing| # something = thing.some_method # process(something) # } # @example AllowedPatterns: [‘map’] # # # good # things.map { |thing| # something = thing.some_method # process(something) # } # # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#168 class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#194
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#194
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#179
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#459
def array_or_range?(node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#208
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#463
def begin_required?(block_node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#236
def braces_for_chaining_message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#400
def braces_for_chaining_style?(node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#248
def braces_required_message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#377
def braces_required_method?(method_name); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#381
def braces_required_methods; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#410
def braces_style?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#455
def conditional?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#414
def correction_would_break_code?(node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#309
def end_of_chain(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#424
def functional_block?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#420
def functional_method?(method_name); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#326
def get_blocks(node, &block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#385
def line_count_based_block_style?(node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#218
def line_count_based_message(node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#252
def message(node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#300
def move_comment_before_block(corrector, comment, block_node, closing_brace); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#432
def procedural_method?(method_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#428
def procedural_oneliners_may_have_braces?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#344
def proper_block_style?(node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#316
def remove_trailing_whitespace(corrector, range, comment); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#263
def replace_braces_with_do_end(corrector, loc); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#279
def replace_do_end_with_braces(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#356
def require_braces?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#448
def return_value_of_scope?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#436
def return_value_used?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#389
def semantic_block_style?(node); end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#226
def semantic_message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#364
def special_method?(method_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#370
def special_method_proper_block_style?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#296
def whitespace_after?(range, length = T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#292
def whitespace_before?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#322
def with_block?(node); end

end

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#175 RuboCop::Cop::Style::BlockDelimiters::ALWAYS_BRACES_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#177 RuboCop::Cop::Style::BlockDelimiters::BRACES_REQUIRED_MESSAGE = T.let(T.unsafe(nil), String)

# Corrector to correct conditional assignment in ‘case` statements. # # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#604 class RuboCop::Cop::Style::CaseCorrector

extend ::RuboCop::Cop::Style::ConditionalAssignmentHelper
extend ::RuboCop::Cop::Style::ConditionalCorrectorHelper

class << self
  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#609
  def correct(corrector, cop, node); end

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#619
  def move_assignment_inside_condition(corrector, node); end

  private

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#639
  def extract_branches(case_node); end

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#633
  def extract_tail_branches(node); end

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#649
  def move_branch_inside_condition(corrector, branch, condition, assignment, column); end
end

end

# If ‘AllowOnSelfClass` option is enabled, the cop will ignore violations when the receiver of # the case equality operator is `self.class`. Note intermediate variables are not accepted. # # @example # # bad # (1..100) === 7 # /something/ === some_string # # # good # something.is_a?(Array) # (1..100).include?(7) # /something/.match?(some_string) # @example AllowOnConstant: false (default) # # bad # Array === something # @example AllowOnConstant: true # # good # Array === something # @example AllowOnSelfClass: false (default) # # bad # self.class === something # @example AllowOnSelfClass: true # # good # self.class === something # # source://rubocop//lib/rubocop/cop/style/case_equality.rb#40 class RuboCop::Cop::Style::CaseEquality < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/case_equality.rb#47
def case_equality?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/case_equality.rb#52
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/case_equality.rb#50
def self_class?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/case_equality.rb#90
def begin_replacement(lhs, rhs); end

# source://rubocop//lib/rubocop/cop/style/case_equality.rb#96
def const_replacement(lhs, rhs); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/case_equality.rb#65
def offending_receiver?(node); end

# source://rubocop//lib/rubocop/cop/style/case_equality.rb#72
def replacement(lhs, rhs); end

# source://rubocop//lib/rubocop/cop/style/case_equality.rb#100
def send_replacement(lhs, rhs); end

end

# source://rubocop//lib/rubocop/cop/style/case_equality.rb#43 RuboCop::Cop::Style::CaseEquality::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/case_equality.rb#44 RuboCop::Cop::Style::CaseEquality::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Identifies places where ‘if-elsif` constructions # can be replaced with `case-when`. # # @example MinBranchesCount: 3 (default) # # bad # if status == :active # perform_action # elsif status == :inactive || status == :hibernating # check_timeout # elsif status == :invalid # report_invalid # else # final_action # end # # # good # case status # when :active # perform_action # when :inactive, :hibernating # check_timeout # when :invalid # report_invalid # else # final_action # end # @example MinBranchesCount: 4 # # good # if status == :active # perform_action # elsif status == :inactive || status == :hibernating # check_timeout # elsif status == :invalid # report_invalid # else # final_action # end # # source://rubocop//lib/rubocop/cop/style/case_like_if.rb#50 class RuboCop::Cop::Style::CaseLikeIf < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::MinBranchesCount
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#57
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#81
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#231
def branch_conditions(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#249
def class_reference?(node); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#166
def collect_conditions(node, target, conditions); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#220
def condition_from_binary_op(lhs, rhs, target); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#202
def condition_from_equality_node(node, target); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#213
def condition_from_include_or_cover_node(node, target); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#208
def condition_from_match_node(node, target); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#185
def condition_from_send_node(node, target); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#240
def const_reference?(node); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#258
def correction_range(node); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#253
def deparenthesize(node); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#102
def find_target(node); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#136
def find_target_in_equality_node(node); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#148
def find_target_in_include_or_cover_node(node); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#154
def find_target_in_match_node(node); end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#121
def find_target_in_send_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#274
def regexp_with_named_captures?(node); end

# Named captures work with `=~` (if regexp is on lhs) and with `match` (both sides)
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#263
def regexp_with_working_captures?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#96
def should_check?(node); end

end

# source://rubocop//lib/rubocop/cop/style/case_like_if.rb#55 RuboCop::Cop::Style::CaseLikeIf::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of the character literal ?x. # Starting with Ruby 1.9 character literals are # essentially one-character strings, so this syntax # is mostly redundant at this point. # # ? character literal can be used to express meta and control character. # That’s a good use case of ? literal so it doesn’t count it as an offense. # # @example # # bad # ?x # # # good # ‘x’ # # # good - control & meta escapes # ?C-M-d # “C-M-d” # same as above # # source://rubocop//lib/rubocop/cop/style/character_literal.rb#24 class RuboCop::Cop::Style::CharacterLiteral < ::RuboCop::Cop::Base

include ::RuboCop::Cop::StringHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/character_literal.rb#35
def autocorrect(corrector, node); end

# Dummy implementation of method in ConfigurableEnforcedStyle that is
# called from StringHelp.
#
# source://rubocop//lib/rubocop/cop/style/character_literal.rb#53
def correct_style_detected; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/character_literal.rb#30
def offense?(node); end

# Dummy implementation of method in ConfigurableEnforcedStyle that is
# called from StringHelp.
#
# source://rubocop//lib/rubocop/cop/style/character_literal.rb#49
def opposite_style_detected; end

end

# source://rubocop//lib/rubocop/cop/style/character_literal.rb#28 RuboCop::Cop::Style::CharacterLiteral::MSG = T.let(T.unsafe(nil), String)

# Checks the style of children definitions at classes and # modules. Basically there are two different styles: # # The compact style is only forced for classes/modules with one child. # # @example EnforcedStyle: nested (default) # # good # # have each child on its own line # class Foo # class Bar # end # end # @example EnforcedStyle: compact # # good # # combine definitions as much as possible # class Foo::Bar # end # # source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#33 class RuboCop::Cop::Style::ClassAndModuleChildren < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#42
def on_class(node); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#48
def on_module(node); end

private

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#89
def add_trailing_end(corrector, node, padding); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#170
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#159
def check_compact_style(node, body); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#151
def check_nested_style(node); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#141
def check_style(node, body); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#94
def compact_definition(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#115
def compact_identifier_name(node); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#100
def compact_node(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#180
def compact_node_name?(node); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#105
def compact_replacement(node); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#137
def leading_spaces(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#176
def needs_compacting?(body); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#62
def nest_definition(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#54
def nest_or_compact(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#120
def remove_end(corrector, body); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#71
def replace_namespace_keyword(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#80
def split_on_double_colon(corrector, node, padding); end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#128
def unindent(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#40 RuboCop::Cop::Style::ClassAndModuleChildren::COMPACT_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/class_and_module_children.rb#39 RuboCop::Cop::Style::ClassAndModuleChildren::NESTED_MSG = T.let(T.unsafe(nil), String)

# Enforces consistent use of ‘Object#is_a?` or `Object#kind_of?`. # # @example EnforcedStyle: is_a? (default) # # bad # var.kind_of?(Date) # var.kind_of?(Integer) # # # good # var.is_a?(Date) # var.is_a?(Integer) # @example EnforcedStyle: kind_of? # # bad # var.is_a?(Time) # var.is_a?(String) # # # good # var.kind_of?(Time) # var.kind_of?(String) # # source://rubocop//lib/rubocop/cop/style/class_check.rb#26 class RuboCop::Cop::Style::ClassCheck < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/class_check.rb#45
def message(node); end

# source://rubocop//lib/rubocop/cop/style/class_check.rb#33
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/class_check.rb#33
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/class_check.rb#30 RuboCop::Cop::Style::ClassCheck::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/class_check.rb#31 RuboCop::Cop::Style::ClassCheck::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Enforces the use of ‘Object#instance_of?` instead of class comparison # for equality. # `==`, `equal?`, and `eql?` custom method definitions are allowed by default. # These are customizable with `AllowedMethods` option. # # @example # # bad # var.class == Date # var.class.equal?(Date) # var.class.eql?(Date) # var.class.name == ’Date’ # # # good # var.instance_of?(Date) # @example AllowedMethods: [‘==’, ‘equal?’, ‘eql?’] (default) # # good # def ==(other) # self.class == other.class && name == other.name # end # # def equal?(other) # self.class.equal?(other.class) && name.equal?(other.name) # end # # def eql?(other) # self.class.eql?(other.class) && name.eql?(other.name) # end # @example AllowedPatterns: [] (default) # # bad # def eq(other) # self.class.eq(other.class) && name.eq(other.name) # end # @example AllowedPatterns: [‘eq’] # # good # def eq(other) # self.class.eq(other.class) && name.eq(other.name) # end # # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#52 class RuboCop::Cop::Style::ClassEqualityComparison < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#64
def class_comparison_candidate?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#70
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#92
def class_name(class_node, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#112
def class_name_method?(method_name); end

# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#128
def offense_range(receiver_node, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#116
def require_cbase?(class_node); end

# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#124
def trim_string_quotes(class_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#120
def unable_to_determine_type?(class_node); end

end

# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#61 RuboCop::Cop::Style::ClassEqualityComparison::CLASS_NAME_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#58 RuboCop::Cop::Style::ClassEqualityComparison::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#60 RuboCop::Cop::Style::ClassEqualityComparison::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for uses of the class/module name instead of # self, when defining class/module methods. # # @example # # bad # class SomeClass # def SomeClass.class_method # # … # end # end # # # good # class SomeClass # def self.class_method # # … # end # end # # source://rubocop//lib/rubocop/cop/style/class_methods.rb#23 class RuboCop::Cop::Style::ClassMethods < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/class_methods.rb#28
def on_class(node); end

# source://rubocop//lib/rubocop/cop/style/class_methods.rb#28
def on_module(node); end

private

# source://rubocop//lib/rubocop/cop/style/class_methods.rb#41
def check_defs(name, node); end

end

# source://rubocop//lib/rubocop/cop/style/class_methods.rb#26 RuboCop::Cop::Style::ClassMethods::MSG = T.let(T.unsafe(nil), String)

# Enforces using ‘def self.method_name` or `class << self` to define class methods. # # @example EnforcedStyle: def_self (default) # # bad # class SomeClass # class << self # attr_accessor :class_accessor # # def class_method # # … # end # end # end # # # good # class SomeClass # def self.class_method # # … # end # # class << self # attr_accessor :class_accessor # end # end # # # good - contains private method # class SomeClass # class << self # attr_accessor :class_accessor # # private # # def private_class_method # # … # end # end # end # @example EnforcedStyle: self_class # # bad # class SomeClass # def self.class_method # # … # end # end # # # good # class SomeClass # class << self # def class_method # # … # end # end # end # # source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#61 class RuboCop::Cop::Style::ClassMethodsDefinitions < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::CommentsHelp
include ::RuboCop::Cop::VisibilityHelp
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#81
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#71
def on_sclass(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#95
def all_methods_public?(sclass_node); end

# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#115
def autocorrect_sclass(node, corrector); end

# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#102
def def_nodes(sclass_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#91
def def_self_style?; end

# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#141
def extract_def_from_sclass(def_node, sclass_node); end

# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#152
def indentation_diff(node1, node2); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#137
def sclass_only_has_methods?(node); end

end

# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#68 RuboCop::Cop::Style::ClassMethodsDefinitions::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/class_methods_definitions.rb#69 RuboCop::Cop::Style::ClassMethodsDefinitions::MSG_SCLASS = T.let(T.unsafe(nil), String)

# Checks for uses of class variables. Offenses # are signaled only on assignment to class variables to # reduce the number of offenses that would be reported. # # You have to be careful when setting a value for a class # variable; if a class has been inherited, changing the # value of a class variable also affects the inheriting # classes. This means that it’s almost always better to # use a class instance variable instead. # # @example # # bad # class A # @@test = 10 # end # # class A # def self.test(name, value) # class_variable_set(“@@#{name}”, value) # end # end # # class A; end # A.class_variable_set(:@@test, 10) # # # good # class A # @test = 10 # end # # class A # def test # @@test # you can access class variable without offense # end # end # # class A # def self.test(name) # class_variable_get(“@@#{name}”) # you can access without offense # end # end # # source://rubocop//lib/rubocop/cop/style/class_vars.rb#48 class RuboCop::Cop::Style::ClassVars < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/class_vars.rb#52
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/class_vars.rb#56
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/class_vars.rb#49 RuboCop::Cop::Style::ClassVars::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/class_vars.rb#50 RuboCop::Cop::Style::ClassVars::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for places where custom logic on rejection nils from arrays # and hashes can be replaced with ‘{Array,Hash}#{compact,compact!}`. # # @example # # bad # array.reject(&:nil?) # array.reject { |e| e.nil? } # array.select { |e| !e.nil? } # array.grep_v(nil) # array.grep_v(NilClass) # # # good # array.compact # # # bad # hash.reject!(&:nil?) # array.delete_if(&:nil?) # hash.reject! { |k, v| v.nil? } # array.delete_if { |e| e.nil? } # hash.select! { |k, v| !v.nil? } # # # good # hash.compact! # @example AllowedReceivers: [’params’] # # good # params.reject(&:nil?) # # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#44 class RuboCop::Cop::Style::CollectionCompact < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedReceivers
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#85
def grep_v_with_nil?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#89
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#89
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#64
def reject_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#57
def reject_method_with_block_pass?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#74
def select_method?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#129
def good_method_name(node); end

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#106
def offense_range(node); end

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#137
def range(begin_pos_node, end_pos_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#123
def to_enum_method?(node); end

end

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#50 RuboCop::Cop::Style::CollectionCompact::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#51 RuboCop::Cop::Style::CollectionCompact::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#52 RuboCop::Cop::Style::CollectionCompact::TO_ENUM_METHODS = T.let(T.unsafe(nil), Array)

# Enforces the use of consistent method names # from the Enumerable module. # # You can customize the mapping from undesired method to desired method. # # e.g. to use ‘detect` over `find`: # # Style/CollectionMethods: # PreferredMethods: # find: detect # # @example # # These examples are based on the default mapping for `PreferredMethods`. # # # bad # items.collect # items.collect! # items.collect_concat # items.inject # items.detect # items.find_all # items.member? # # # good # items.map # items.map! # items.flat_map # items.reduce # items.find # items.select # items.include? # # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#43 class RuboCop::Cop::Style::CollectionMethods < ::RuboCop::Cop::Base

include ::RuboCop::Cop::MethodPreference
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#49
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#49
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#55
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#63
def check_method_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#72
def implicit_block?(node); end

# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#80
def message(node); end

# Some enumerable methods accept a bare symbol (ie. _not_ Symbol#to_proc) instead
# of a block.
#
# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#86
def methods_accepting_symbol; end

end

# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#47 RuboCop::Cop::Style::CollectionMethods::MSG = T.let(T.unsafe(nil), String)

# Checks for methods invoked via the ‘::` operator instead # of the `.` operator (like `FileUtils::rmdir` instead of `FileUtils.rmdir`). # # @example # # bad # Timeout::timeout(500) { do_something } # FileUtils::rmdir(dir) # Marshal::dump(obj) # # # good # Timeout.timeout(500) { do_something } # FileUtils.rmdir(dir) # Marshal.dump(obj) # # source://rubocop//lib/rubocop/cop/style/colon_method_call.rb#20 class RuboCop::Cop::Style::ColonMethodCall < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/colon_method_call.rb#26
def java_type_node?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/colon_method_call.rb#35
def on_send(node); end

class << self
  # source://rubocop//lib/rubocop/cop/style/colon_method_call.rb#31
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/colon_method_call.rb#23 RuboCop::Cop::Style::ColonMethodCall::MSG = T.let(T.unsafe(nil), String)

# Checks for class methods that are defined using the ‘::` # operator instead of the `.` operator. # # @example # # bad # class Foo # def self::bar # end # end # # # good # class Foo # def self.bar # end # end # # source://rubocop//lib/rubocop/cop/style/colon_method_definition.rb#22 class RuboCop::Cop::Style::ColonMethodDefinition < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/colon_method_definition.rb#27
def on_defs(node); end

end

# source://rubocop//lib/rubocop/cop/style/colon_method_definition.rb#25 RuboCop::Cop::Style::ColonMethodDefinition::MSG = T.let(T.unsafe(nil), String)

# Checks for places where multiple consecutive loops over the same data # can be combined into a single loop. It is very likely that combining them # will make the code more efficient and more concise. # # @example # # bad # def method # items.each do |item| # do_something(item) # end # # items.each do |item| # do_something_else(item) # end # end # # # good # def method # items.each do |item| # do_something(item) # do_something_else(item) # end # end # # # bad # def method # for item in items do # do_something(item) # end # # for item in items do # do_something_else(item) # end # end # # # good # def method # for item in items do # do_something(item) # do_something_else(item) # end # end # # # good # def method # each_slice(2) { |slice| do_something(slice) } # each_slice(3) { |slice| do_something(slice) } # end # # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#59 class RuboCop::Cop::Style::CombinableLoops < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#64
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#77
def on_for(node); end

# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#64
def on_numblock(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#88
def collection_looping_method?(node); end

# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#105
def combine_with_left_sibling(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#112
def correct_end_of_block(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#93
def same_collection_looping_block?(node, sibling); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#101
def same_collection_looping_for?(node, sibling); end

end

# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#62 RuboCop::Cop::Style::CombinableLoops::MSG = T.let(T.unsafe(nil), String)

# Enforces using “ or %x around command literals. # # @example EnforcedStyle: backticks (default) # # bad # folders = %x(find . -type d).split # # # bad # %x( # ln -s foo.example.yml foo.example # ln -s bar.example.yml bar.example # ) # # # good # folders = ‘find . -type d`.split # # # good # ` # ln -s foo.example.yml foo.example # ln -s bar.example.yml bar.example # ` # @example EnforcedStyle: mixed # # bad # folders = %x(find . -type d).split # # # bad # ` # ln -s foo.example.yml foo.example # ln -s bar.example.yml bar.example # ` # # # good # folders = `find . -type d`.split # # # good # %x( # ln -s foo.example.yml foo.example # ln -s bar.example.yml bar.example # ) # @example EnforcedStyle: percent_x # # bad # folders = `find . -type d`.split # # # bad # ` # ln -s foo.example.yml foo.example # ln -s bar.example.yml bar.example # ` # # # good # folders = %x(find . -type d).split # # # good # %x( # ln -s foo.example.yml foo.example # ln -s bar.example.yml bar.example # ) # @example AllowInnerBackticks: false (default) # # If `false`, the cop will always recommend using `%x` if one or more # # backticks are found in the command string. # # # bad # `echo `ls`` # # # good # %x(echo `ls`) # @example AllowInnerBackticks: true # # good # `echo `ls`` # # source://rubocop//lib/rubocop/cop/style/command_literal.rb#78 class RuboCop::Cop::Style::CommandLiteral < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#85
def on_xstr(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/command_literal.rb#146
def allow_inner_backticks?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/command_literal.rb#122
def allowed_backtick_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/command_literal.rb#131
def allowed_percent_x_literal?(node); end

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#109
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/command_literal.rb#159
def backtick_literal?(node); end

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#97
def check_backtick_literal(node, message); end

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#103
def check_percent_x_literal(node, message); end

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#167
def command_delimiter; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/command_literal.rb#150
def contains_backtick?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/command_literal.rb#142
def contains_disallowed_backtick?(node); end

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#171
def default_delimiter; end

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#154
def node_body(node); end

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#163
def preferred_delimiter; end

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#175
def preferred_delimiters_config; end

end

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#82 RuboCop::Cop::Style::CommandLiteral::MSG_USE_BACKTICKS = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/command_literal.rb#83 RuboCop::Cop::Style::CommandLiteral::MSG_USE_PERCENT_X = T.let(T.unsafe(nil), String)

# Checks that comment annotation keywords are written according # to guidelines. # # Annotation keywords can be specified by overriding the cop’s ‘Keywords` # configuration. Keywords are allowed to be single words or phrases. # # NOTE: With a multiline comment block (where each line is only a # comment), only the first line will be able to register an offense, even # if an annotation keyword starts another line. This is done to prevent # incorrect registering of keywords (eg. `review`) inside a paragraph as an # annotation. # # @example RequireColon: true (default) # # bad # # TODO make better # # # good # # TODO: make better # # # bad # # TODO:make better # # # good # # TODO: make better # # # bad # # fixme: does not work # # # good # # FIXME: does not work # # # bad # # Optimize does not work # # # good # # OPTIMIZE: does not work # @example RequireColon: false # # bad # # TODO: make better # # # good # # TODO make better # # # bad # # fixme does not work # # # good # # FIXME does not work # # # bad # # Optimize does not work # # # good # # OPTIMIZE does not work # # source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#61 class RuboCop::Cop::Style::CommentAnnotation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#73
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#110
def annotation_range(annotation); end

# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#114
def correct_offense(corrector, range, keyword); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#102
def first_comment_line?(comments, index); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#106
def inline_comment?(comment); end

# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#124
def keywords; end

# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#87
def register_offense(annotation); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#120
def requires_colon?; end

end

# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#71 RuboCop::Cop::Style::CommentAnnotation::MISSING_NOTE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#65 RuboCop::Cop::Style::CommentAnnotation::MSG_COLON_STYLE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/comment_annotation.rb#68 RuboCop::Cop::Style::CommentAnnotation::MSG_SPACE_STYLE = T.let(T.unsafe(nil), String)

# Checks for comments put on the same line as some keywords. # These keywords are: ‘class`, `module`, `def`, `begin`, `end`. # # Note that some comments # are allowed. # # Autocorrection removes comments from `end` keyword and keeps comments # for `class`, `module`, `def` and `begin` above the keyword. # # @example # # bad # if condition # statement # end # end if # # # bad # class X # comment # statement # end # # # bad # def x; end # comment # # # good # if condition # statement # end # # # good # class X # :nodoc: # y # end # # source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#45 class RuboCop::Cop::Style::CommentedKeyword < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#60
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#83
def offensive?(comment); end

# source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#70
def register_offense(comment, matched_keyword); end

# source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#89
def source_line(comment); end

end

# source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#54 RuboCop::Cop::Style::CommentedKeyword::ALLOWED_COMMENTS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#55 RuboCop::Cop::Style::CommentedKeyword::ALLOWED_COMMENT_REGEXES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#51 RuboCop::Cop::Style::CommentedKeyword::KEYWORDS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#52 RuboCop::Cop::Style::CommentedKeyword::KEYWORD_REGEXES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#49 RuboCop::Cop::Style::CommentedKeyword::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/commented_keyword.rb#58 RuboCop::Cop::Style::CommentedKeyword::REGEXP = T.let(T.unsafe(nil), Regexp)

# Enforces the use of ‘Comparable#clamp` instead of comparison by minimum and maximum. # # This cop supports autocorrection for `if/elsif/else` bad style only. # Because `ArgumentError` occurs if the minimum and maximum of `clamp` arguments are reversed. # When these are variables, it is not possible to determine which is the minimum and maximum: # # [source,ruby] # —- # [1, [2, 3].max].min # => 1 # 1.clamp(3, 1) # => min argument must be smaller than max argument (ArgumentError) # —- # # @example # # # bad # [[x, low].max, high].min # # # bad # if x < low # low # elsif high < x # high # else # x # end # # # good # x.clamp(low, high) # # source://rubocop//lib/rubocop/cop/style/comparable_clamp.rb#35 class RuboCop::Cop::Style::ComparableClamp < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/comparable_clamp.rb#61
def array_min_max?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/comparable_clamp.rb#47
def if_elsif_else_condition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/comparable_clamp.rb#78
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/comparable_clamp.rb#100
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/comparable_clamp.rb#108
def autocorrect(corrector, node, prefer); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/comparable_clamp.rb#117
def min_condition?(if_condition, else_body); end

end

# source://rubocop//lib/rubocop/cop/style/comparable_clamp.rb#42 RuboCop::Cop::Style::ComparableClamp::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/comparable_clamp.rb#43 RuboCop::Cop::Style::ComparableClamp::MSG_MIN_MAX = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/comparable_clamp.rb#44 RuboCop::Cop::Style::ComparableClamp::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Enforces the use of ‘Array#push(item)` instead of `Array#concat()` # to avoid redundant array literals. # # @example # # # bad # list.concat() # list.concat([bar, baz]) # list.concat([qux, quux], [corge]) # # # good # list.push(foo) # list.push(bar, baz) # list.push(qux, quux, corge) # # source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#25 class RuboCop::Cop::Style::ConcatArrayLiterals < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#34
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#34
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#70
def offense_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#87
def percent_literals_includes_only_basic_literals?(node); end

# source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#74
def preferred_method(node); end

end

# source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#28 RuboCop::Cop::Style::ConcatArrayLiterals::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#29 RuboCop::Cop::Style::ConcatArrayLiterals::MSG_FOR_PERCENT_LITERALS = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#31 RuboCop::Cop::Style::ConcatArrayLiterals::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Check for ‘if` and `case` statements where each branch is used for # both the assignment and comparison of the same variable # when using the return of the condition can be used instead. # # @example EnforcedStyle: assign_to_condition (default) # # bad # if foo # bar = 1 # else # bar = 2 # end # # case foo # when ’a’ # bar += 1 # else # bar += 2 # end # # if foo # some_method # bar = 1 # else # some_other_method # bar = 2 # end # # # good # bar = if foo # 1 # else # 2 # end # # bar += case foo # when ‘a’ # 1 # else # 2 # end # # bar << if foo # some_method # 1 # else # some_other_method # 2 # end # @example EnforcedStyle: assign_inside_condition # # bad # bar = if foo # 1 # else # 2 # end # # bar += case foo # when ‘a’ # 1 # else # 2 # end # # bar << if foo # some_method # 1 # else # some_other_method # 2 # end # # # good # if foo # bar = 1 # else # bar = 2 # end # # case foo # when ‘a’ # bar += 1 # else # bar += 2 # end # # if foo # some_method # bar = 1 # else # some_other_method # bar = 2 # end # # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#210 class RuboCop::Cop::Style::ConditionalAssignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Style::ConditionalAssignmentHelper
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# The shovel operator `<<` does not have its own type. It is a `send`
# type.
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#228
def assignment_type?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#309
def candidate_condition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#236
def on_and_asgn(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#264
def on_case(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#274
def on_case_match(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#236
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#236
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#236
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#250
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#236
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#236
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#236
def on_masgn(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#236
def on_op_asgn(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#236
def on_or_asgn(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#244
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#315
def allowed_single_line?(branches); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#386
def allowed_statements?(branches); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#311
def allowed_ternary?(assignment); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#319
def assignment_node(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#363
def assignment_types_match?(*nodes); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#378
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#304
def candidate_node?(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#286
def check_assignment_to_condition(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#369
def check_node(node, branches); end

# If `Layout/LineLength` is enabled, we do not want to introduce an
# offense by autocorrecting this cop. Find the max configured line
# length. Find the longest line of condition. Remove the assignment
# from lines that contain the offending assignment because after
# correcting, this will not be on the line anymore. Check if the length
# of the longest line + the length of the corrected assignment is
# greater than the max configured line length
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#402
def correction_exceeds_line_limit?(node, branches); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#433
def include_ternary?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#356
def lhs_all_match?(branches); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#421
def line_length_cop_enabled?; end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#414
def longest_line(node, assignment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#410
def longest_line_exceeds_line_limit?(node, assignment); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#425
def max_line_length; end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#340
def move_assignment_inside_condition(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#330
def move_assignment_outside_condition(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#429
def single_line_conditions_only?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#352
def ternary_condition?(node); end

end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#219 RuboCop::Cop::Style::ConditionalAssignment::ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#217 RuboCop::Cop::Style::ConditionalAssignment::ASSIGN_TO_CONDITION_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#221 RuboCop::Cop::Style::ConditionalAssignment::ENABLED = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#220 RuboCop::Cop::Style::ConditionalAssignment::LINE_LENGTH = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#222 RuboCop::Cop::Style::ConditionalAssignment::MAX = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#216 RuboCop::Cop::Style::ConditionalAssignment::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#223 RuboCop::Cop::Style::ConditionalAssignment::SINGLE_LINE_CONDITIONS_ONLY = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#218 RuboCop::Cop::Style::ConditionalAssignment::VARIABLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)

# Helper module to provide common methods to classes needed for the # ConditionalAssignment Cop. # # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#8 module RuboCop::Cop::Style::ConditionalAssignmentHelper

extend ::RuboCop::AST::NodePattern::Macros

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#64
def end_with_eq?(sym); end

# `elsif` branches show up in the `node` as an `else`. We need
# to recursively iterate over all `else` branches and consider all
# but the last `node` an `elsif` branch and consider the last `node`
# the actual `else` branch.
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#20
def expand_elses(branch); end

# `when` nodes contain the entire branch including the condition.
# We only need the contents of the branch, not the condition.
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#28
def expand_when_branches(when_branches); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#55
def indent(cop, source); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#37
def lhs(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#32
def tail(branch); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#109
def assignment_rhs_exist?(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#70
def expand_elsif(node, elsif_branches = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#96
def lhs_for_casgn(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#83
def lhs_for_send(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#105
def setter_method?(method_name); end

end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#13 RuboCop::Cop::Style::ConditionalAssignmentHelper::ALIGN_WITH = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#12 RuboCop::Cop::Style::ConditionalAssignmentHelper::END_ALIGNMENT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#11 RuboCop::Cop::Style::ConditionalAssignmentHelper::EQUAL = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#14 RuboCop::Cop::Style::ConditionalAssignmentHelper::KEYWORD = T.let(T.unsafe(nil), String)

# Helper module to provide common methods to ConditionalAssignment # correctors # # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#440 module RuboCop::Cop::Style::ConditionalCorrectorHelper

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#461
def assignment(node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#490
def correct_branches(corrector, branches); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#467
def correct_if_branches(corrector, cop, node); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#441
def remove_whitespace_in_branches(corrector, branch, condition, column); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#477
def replace_branch_assignment(corrector, branch); end

# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#454
def white_space_range(node, column); end

end

# Checks that constants defined in classes and modules have # an explicit visibility declaration. By default, Ruby makes all class- # and module constants public, which litters the public API of the # class or module. Explicitly declaring a visibility makes intent more # clear, and prevents outside actors from touching private state. # # @example # # # bad # class Foo # BAR = 42 # BAZ = 43 # end # # # good # class Foo # BAR = 42 # private_constant :BAR # # BAZ = 43 # public_constant :BAZ # end # @example IgnoreModules: false (default) # # bad # class Foo # MyClass = Struct.new() # end # # # good # class Foo # MyClass = Struct.new() # public_constant :MyClass # end # @example IgnoreModules: true # # good # class Foo # MyClass = Struct.new() # end # # source://rubocop//lib/rubocop/cop/style/constant_visibility.rb#47 class RuboCop::Cop::Style::ConstantVisibility < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/constant_visibility.rb#51
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/style/constant_visibility.rb#96
def visibility_declaration_for?(param0 = T.unsafe(nil), param1); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/constant_visibility.rb#76
def class_or_module_scope?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/constant_visibility.rb#62
def ignore_modules?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/constant_visibility.rb#100
def match_name?(name, constant_name); end

# source://rubocop//lib/rubocop/cop/style/constant_visibility.rb#70
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/constant_visibility.rb#66
def module?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/constant_visibility.rb#87
def visibility_declaration?(node); end

end

# source://rubocop//lib/rubocop/cop/style/constant_visibility.rb#48 RuboCop::Cop::Style::ConstantVisibility::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/copyright.rb#21 class RuboCop::Cop::Style::Copyright < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/copyright.rb#28
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/copyright.rb#45
def autocorrect(corrector); end

# source://rubocop//lib/rubocop/cop/style/copyright.rb#56
def autocorrect_notice; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/copyright.rb#83
def encoding_token?(processed_source, token_index); end

# source://rubocop//lib/rubocop/cop/style/copyright.rb#69
def insert_notice_before(processed_source); end

# source://rubocop//lib/rubocop/cop/style/copyright.rb#52
def notice; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/copyright.rb#90
def notice_found?(processed_source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/copyright.rb#76
def shebang_token?(processed_source, token_index); end

# @raise [Warning]
#
# source://rubocop//lib/rubocop/cop/style/copyright.rb#60
def verify_autocorrect_notice!; end

end

# source://rubocop//lib/rubocop/cop/style/copyright.rb#26 RuboCop::Cop::Style::Copyright::AUTOCORRECT_EMPTY_WARNING = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/copyright.rb#25 RuboCop::Cop::Style::Copyright::MSG = T.let(T.unsafe(nil), String)

# Checks for inheritance from ‘Data.define` to avoid creating the anonymous parent class. # # @example # # bad # class Person < Data.define(:first_name, :last_name) # def age # 42 # end # end # # # good # Person = Data.define(:first_name, :last_name) do # def age # 42 # end # end # # source://rubocop//lib/rubocop/cop/style/data_inheritance.rb#26 class RuboCop::Cop::Style::DataInheritance < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/data_inheritance.rb#48
def data_define?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/data_inheritance.rb#36
def on_class(node); end

private

# source://rubocop//lib/rubocop/cop/style/data_inheritance.rb#55
def correct_parent(parent, corrector); end

# source://rubocop//lib/rubocop/cop/style/data_inheritance.rb#65
def range_for_empty_class_body(class_node, data_define); end

end

# source://rubocop//lib/rubocop/cop/style/data_inheritance.rb#31 RuboCop::Cop::Style::DataInheritance::MSG = T.let(T.unsafe(nil), String)

# Checks for consistent usage of the ‘DateTime` class over the # `Time` class. This cop is disabled by default since these classes, # although highly overlapping, have particularities that make them not # replaceable in certain situations when dealing with multiple timezones # and/or DST. # # @example # # # bad - uses `DateTime` for current time # DateTime.now # # # good - uses `Time` for current time # Time.now # # # bad - uses `DateTime` for modern date # DateTime.iso8601(’2016-06-29’) # # # good - uses ‘Time` for modern date # Time.iso8601(’2016-06-29’) # # # good - uses ‘DateTime` with start argument for historical date # DateTime.iso8601(’1751-04-23’, Date::ENGLAND) # @example AllowCoercion: false (default) # # # bad - coerces to ‘DateTime` # something.to_datetime # # # good - coerces to `Time` # something.to_time # @example AllowCoercion: true # # # good # something.to_datetime # # # good # something.to_time # # source://rubocop//lib/rubocop/cop/style/date_time.rb#49 class RuboCop::Cop::Style::DateTime < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/date_time.rb#56
def date_time?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/date_time.rb#61
def historic_date?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/date_time.rb#70
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/date_time.rb#70
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/date_time.rb#66
def to_datetime?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/date_time.rb#86
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/date_time.rb#82
def disallow_coercion?; end

end

# source://rubocop//lib/rubocop/cop/style/date_time.rb#52 RuboCop::Cop::Style::DateTime::CLASS_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/date_time.rb#53 RuboCop::Cop::Style::DateTime::COERCION_MSG = T.let(T.unsafe(nil), String)

# Checks for parentheses in the definition of a method, # that does not take any arguments. Both instance and # class/singleton methods are checked. # # @example # # # bad # def foo() # do_something # end # # # good # def foo # do_something # end # # # bad # def foo() = do_something # # # good # def foo = do_something # # # good (without parentheses it’s a syntax error) # def foo() do_something end # @example # # # bad # def Baz.foo() # do_something # end # # # good # def Baz.foo # do_something # end # # source://rubocop//lib/rubocop/cop/style/def_with_parentheses.rb#42 class RuboCop::Cop::Style::DefWithParentheses < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/def_with_parentheses.rb#47
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/def_with_parentheses.rb#47
def on_defs(node); end

end

# source://rubocop//lib/rubocop/cop/style/def_with_parentheses.rb#45 RuboCop::Cop::Style::DefWithParentheses::MSG = T.let(T.unsafe(nil), String)

# Checks for places where the ‘#_dir_` method can replace more # complex constructs to retrieve a canonicalized absolute path to the # current file. # # @example # # bad # path = File.expand_path(File.dirname(__FILE__)) # # # bad # path = File.dirname(File.realpath(__FILE__)) # # # good # path = __dir__ # # source://rubocop//lib/rubocop/cop/style/dir.rb#19 class RuboCop::Cop::Style::Dir < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/dir.rb#29
def dir_replacement?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/dir.rb#34
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/dir.rb#44
def file_keyword?(node); end

end

# source://rubocop//lib/rubocop/cop/style/dir.rb#25 RuboCop::Cop::Style::Dir::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/dir.rb#26 RuboCop::Cop::Style::Dir::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Prefer to use ‘Dir.empty?(’path/to/dir’)‘ when checking if a directory is empty. # # @example # # bad # Dir.entries(’path/to/dir’).size == 2 # Dir.children(‘path/to/dir’).empty? # Dir.children(‘path/to/dir’).size == 0 # Dir.each_child(‘path/to/dir’).none? # # # good # Dir.empty?(‘path/to/dir’) # # source://rubocop//lib/rubocop/cop/style/dir_empty.rb#18 class RuboCop::Cop::Style::DirEmpty < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/dir_empty.rb#28
def offensive?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/dir_empty.rb#37
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/dir_empty.rb#48
def bang(node); end

end

# source://rubocop//lib/rubocop/cop/style/dir_empty.rb#22 RuboCop::Cop::Style::DirEmpty::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/dir_empty.rb#23 RuboCop::Cop::Style::DirEmpty::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Detects comments to enable/disable RuboCop. # This is useful if want to make sure that every RuboCop error gets fixed # and not quickly disabled with a comment. # # Specific cops can be allowed with the ‘AllowedCops` configuration. Note that # # @example # # bad # # rubocop:disable Metrics/AbcSize # def foo # end # # rubocop:enable Metrics/AbcSize # # # good # def foo # end # @example AllowedCops: [Metrics/AbcSize] # # good # # rubocop:disable Metrics/AbcSize # def foo # end # # rubocop:enable Metrics/AbcSize # # source://rubocop//lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb#33 class RuboCop::Cop::Style::DisableCopsWithinSourceCodeDirective < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb#40
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb#77
def allowed_cops; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb#81
def any_cops_allowed?; end

# source://rubocop//lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb#72
def directive_cops(comment); end

# source://rubocop//lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb#53
def register_offense(comment, directive_cops, disallowed_cops); end

end

# source://rubocop//lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb#37 RuboCop::Cop::Style::DisableCopsWithinSourceCodeDirective::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb#38 RuboCop::Cop::Style::DisableCopsWithinSourceCodeDirective::MSG_FOR_COPS = T.let(T.unsafe(nil), String)

# When using ‘class_eval` (or other `eval`) with string interpolation, # add a comment block showing its appearance if interpolated (a practice used in Rails code). # # @example # # from activesupport/lib/active_support/core_ext/string/output_safety.rb # # # bad # UNSAFE_STRING_METHODS.each do |unsafe_method| # if ’String’.respond_to?(unsafe_method) # class_eval <<-EOT, __FILE__, __LINE__ + 1 # def #{unsafe_method}(*params, &block) # to_str.#{unsafe_method}(*params, &block) # end # # def #{unsafe_method}!(*params) # @dirty = true # super # end # EOT # end # end # # # good, inline comments in heredoc # UNSAFE_STRING_METHODS.each do |unsafe_method| # if ‘String’.respond_to?(unsafe_method) # class_eval <<-EOT, __FILE__, __LINE__ + 1 # def #{unsafe_method}(*params, &block) # def capitalize(*params, &block) # to_str.#{unsafe_method}(*params, &block) # to_str.capitalize(*params, &block) # end # end # # def #{unsafe_method}!(*params) # def capitalize!(*params) # @dirty = true # @dirty = true # super # super # end # end # EOT # end # end # # # good, block comments in heredoc # class_eval <<-EOT, __FILE__, __LINE__ + 1 # # def capitalize!(*params) # # @dirty = true # # super # # end # # def #{unsafe_method}!(*params) # @dirty = true # super # end # EOT # # # good, block comments before heredoc # class_eval( # # def capitalize!(*params) # # @dirty = true # # super # # end # # <<-EOT, __FILE__, __LINE__ + 1 # def #{unsafe_method}!(*params) # @dirty = true # super # end # EOT # ) # # # bad - interpolated string without comment # class_eval(“def #{unsafe_method}!(*params); end”) # # # good - with inline comment or replace it with block comment using heredoc # class_eval(“def #{unsafe_method}!(*params); end # def capitalize!(*params); end”) # # source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#77 class RuboCop::Cop::Style::DocumentDynamicEvalDefinition < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#84
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#107
def comment_block_docs?(arg_node); end

# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#147
def comment_regexp(arg_node); end

# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#126
def heredoc_comment_blocks(heredoc_body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#100
def inline_comment_docs?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#96
def interpolated?(arg_node); end

# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#136
def merge_adjacent_comments(line, index, hash); end

# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#117
def preceding_comment_blocks(node); end

# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#156
def source_to_regexp(source); end

end

# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#78 RuboCop::Cop::Style::DocumentDynamicEvalDefinition::BLOCK_COMMENT_REGEXP = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#79 RuboCop::Cop::Style::DocumentDynamicEvalDefinition::COMMENT_REGEXP = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#80 RuboCop::Cop::Style::DocumentDynamicEvalDefinition::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/document_dynamic_eval_definition.rb#82 RuboCop::Cop::Style::DocumentDynamicEvalDefinition::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for missing top-level documentation of classes and # modules. Classes with no body are exempt from the check and so are # namespace modules - modules that have nothing in their bodies except # classes, other modules, constant definitions or constant visibility # declarations. # # The documentation requirement is annulled if the class or module has # same for all its children. # # @example # # bad # class Person # # … # end # # module Math # end # # # good # # Description/Explanation of Person class # class Person # # … # end # # # allowed # # Class without body # class Person # end # # # Namespace - A namespace can be a class or a module # # Containing a class # module Namespace # # Description/Explanation of Person class # class Person # # … # end # end # # # Containing constant visibility declaration # module Namespace # class Private # end # # private_constant :Private # end # # # Containing constant definition # module Namespace # Public = Class.new # end # # # Macro calls # module Namespace # extend Foo # end # @example AllowedConstants: [‘ClassMethods’] # # # good # module A # module ClassMethods # # … # end # end # # source://rubocop//lib/rubocop/cop/style/documentation.rb#72 class RuboCop::Cop::Style::Documentation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::DocumentationComment
include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/style/documentation.rb#79
def constant_definition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/documentation.rb#85
def constant_visibility_declaration?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/documentation.rb#90
def include_statement?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/documentation.rb#94
def on_class(node); end

# source://rubocop//lib/rubocop/cop/style/documentation.rb#100
def on_module(node); end

# source://rubocop//lib/rubocop/cop/style/documentation.rb#82
def outer_module(param0); end

private

# source://rubocop//lib/rubocop/cop/style/documentation.rb#174
def allowed_constants; end

# source://rubocop//lib/rubocop/cop/style/documentation.rb#106
def check(node, body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/documentation.rb#147
def compact_namespace?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/documentation.rb#143
def constant_allowed?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/documentation.rb#139
def constant_declaration?(node); end

# source://rubocop//lib/rubocop/cop/style/documentation.rb#178
def identifier(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/documentation.rb#123
def include_statement_only?(body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/documentation.rb#129
def namespace?(node); end

# source://rubocop//lib/rubocop/cop/style/documentation.rb#170
def nodoc(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/documentation.rb#166
def nodoc?(comment, require_all: T.unsafe(nil)); end

# Note: How end-of-line comments are associated with code changed in
# parser-2.2.0.4.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/documentation.rb#156
def nodoc_comment?(node, require_all: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/documentation.rb#118
def nodoc_self_or_outer_module?(node); end

# source://rubocop//lib/rubocop/cop/style/documentation.rb#186
def qualify_const(node); end

end

# source://rubocop//lib/rubocop/cop/style/documentation.rb#76 RuboCop::Cop::Style::Documentation::MSG = T.let(T.unsafe(nil), String)

# Checks for missing documentation comment for public methods. # It can optionally be configured to also require documentation for # non-public methods. # # NOTE: This cop allows ‘initialize` method because `initialize` is # a special method called from `new`. In some programming languages # they are called constructor to distinguish it from method. # # @example # # # bad # # class Foo # def bar # puts baz # end # end # # module Foo # def bar # puts baz # end # end # # def foo.bar # puts baz # end # # # good # # class Foo # # Documentation # def bar # puts baz # end # end # # module Foo # # Documentation # def bar # puts baz # end # end # # # Documentation # def foo.bar # puts baz # end # @example RequireForNonPublicMethods: false (default) # # good # class Foo # protected # def do_something # end # end # # class Foo # private # def do_something # end # end # @example RequireForNonPublicMethods: true # # bad # class Foo # protected # def do_something # end # end # # class Foo # private # def do_something # end # end # # # good # class Foo # protected # # Documentation # def do_something # end # end # # class Foo # private # # Documentation # def do_something # end # end # # source://rubocop//lib/rubocop/cop/style/documentation_method.rb#98 class RuboCop::Cop::Style::DocumentationMethod < ::RuboCop::Cop::Base

include ::RuboCop::Cop::DocumentationComment
include ::RuboCop::Cop::VisibilityHelp
include ::RuboCop::Cop::DefNode

# source://rubocop//lib/rubocop/cop/style/documentation_method.rb#105
def modifier_node?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/documentation_method.rb#109
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/documentation_method.rb#109
def on_defs(node); end

private

# source://rubocop//lib/rubocop/cop/style/documentation_method.rb#119
def check(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/documentation_method.rb#126
def require_for_non_public_methods?; end

end

# source://rubocop//lib/rubocop/cop/style/documentation_method.rb#102 RuboCop::Cop::Style::DocumentationMethod::MSG = T.let(T.unsafe(nil), String)

# Detects double disable comments on one line. This is mostly to catch # automatically generated comments that need to be regenerated. # # @example # # bad # def f # rubocop:disable Style/For # rubocop:disable Metrics/AbcSize # end # # # good # # rubocop:disable Metrics/AbcSize # def f # rubocop:disable Style/For # end # # rubocop:enable Metrics/AbcSize # # # if both fit on one line # def f # rubocop:disable Style/For, Metrics/AbcSize # end # # source://rubocop//lib/rubocop/cop/style/double_cop_disable_directive.rb#27 class RuboCop::Cop::Style::DoubleCopDisableDirective < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/double_cop_disable_directive.rb#34
def on_new_investigation; end

end

# source://rubocop//lib/rubocop/cop/style/double_cop_disable_directive.rb#32 RuboCop::Cop::Style::DoubleCopDisableDirective::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of double negation (‘!!`) to convert something to a boolean value. # # When using `EnforcedStyle: allowed_in_returns`, allow double negation in contexts # that use boolean as a return value. When using `EnforcedStyle: forbidden`, double negation # should be forbidden always. # # NOTE: when `something` is a boolean value # `!!something` and `!something.nil?` are not the same thing. # As you’re unlikely to write code that can accept values of any type # this is rarely a problem in practice. # # @example # # bad # !!something # # # good # !something.nil? # @example EnforcedStyle: allowed_in_returns (default) # # good # def foo? # !!return_value # end # # define_method :foo? do # !!return_value # end # # define_singleton_method :foo? do # !!return_value # end # @example EnforcedStyle: forbidden # # bad # def foo? # !!return_value # end # # define_method :foo? do # !!return_value # end # # define_singleton_method :foo? do # !!return_value # end # # source://rubocop//lib/rubocop/cop/style/double_negation.rb#61 class RuboCop::Cop::Style::DoubleNegation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/double_negation.rb#69
def double_negative?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/double_negation.rb#71
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/double_negation.rb#84
def allowed_in_returns?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/double_negation.rb#111
def define_method?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/double_negation.rb#138
def double_negative_condition_return_value?(node, last_child, conditional_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/double_negation.rb#88
def end_of_method_definition?(node); end

# source://rubocop//lib/rubocop/cop/style/double_negation.rb#120
def find_conditional_node_from_ascendant(node); end

# source://rubocop//lib/rubocop/cop/style/double_negation.rb#103
def find_def_node_from_ascendant(node); end

# source://rubocop//lib/rubocop/cop/style/double_negation.rb#127
def find_last_child(node); end

# source://rubocop//lib/rubocop/cop/style/double_negation.rb#147
def find_parent_not_enumerable(node); end

end

# source://rubocop//lib/rubocop/cop/style/double_negation.rb#65 RuboCop::Cop::Style::DoubleNegation::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/double_negation.rb#66 RuboCop::Cop::Style::DoubleNegation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for loops which iterate a constant number of times, # using a Range literal and ‘#each`. This can be done more readably using # `Integer#times`. # # This check only applies if the block takes no parameters. # # @example # # bad # (1..5).each { } # # # good # 5.times { } # @example # # bad # (0…10).each {} # # # good # 10.times {} # # source://rubocop//lib/rubocop/cop/style/each_for_simple_loop.rb#25 class RuboCop::Cop::Style::EachForSimpleLoop < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/each_for_simple_loop.rb#53
def each_range(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/each_for_simple_loop.rb#65
def each_range_with_zero_origin?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/each_for_simple_loop.rb#77
def each_range_without_block_argument?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/each_for_simple_loop.rb#30
def on_block(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/each_for_simple_loop.rb#46
def offending?(node); end

end

# source://rubocop//lib/rubocop/cop/style/each_for_simple_loop.rb#28 RuboCop::Cop::Style::EachForSimpleLoop::MSG = T.let(T.unsafe(nil), String)

# Looks for inject / reduce calls where the passed in object is # returned at the end and so could be replaced by each_with_object without # the need to return the object at the end. # # However, we can’t replace with each_with_object if the accumulator # parameter is assigned to within the block. # # @example # # bad # [1, 2].inject({}) { |a, e| a = e; a } # # # good # [1, 2].each_with_object({}) { |e, a| a = e } # # source://rubocop//lib/rubocop/cop/style/each_with_object.rb#19 class RuboCop::Cop::Style::EachWithObject < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#60
def each_with_object_block_candidate?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#65
def each_with_object_numblock_candidate?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#26
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#43
def on_numblock(node); end

private

# if the accumulator parameter is assigned to in the block,
# then we can't convert to each_with_object
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#102
def accumulator_param_assigned_to?(body, args); end

# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#69
def autocorrect_block(corrector, node, return_value); end

# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#84
def autocorrect_numblock(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#121
def first_argument_returned?(args, return_value); end

# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#114
def return_value(body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#129
def return_value_occupies_whole_line?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#96
def simple_method_arg?(method_arg); end

# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#133
def whole_line_expression(node); end

end

# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#24 RuboCop::Cop::Style::EachWithObject::METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/each_with_object.rb#23 RuboCop::Cop::Style::EachWithObject::MSG = T.let(T.unsafe(nil), String)

# Checks for pipes for empty block parameters. Pipes for empty # block parameters do not cause syntax errors, but they are redundant. # # @example # # bad # a do || # do_something # end # # # bad # a { || do_something } # # # good # a do # end # # # good # a { do_something } # # source://rubocop//lib/rubocop/cop/style/empty_block_parameter.rb#24 class RuboCop::Cop::Style::EmptyBlockParameter < ::RuboCop::Cop::Base

include ::RuboCop::Cop::EmptyParameter
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/empty_block_parameter.rb#31
def on_block(node); end

private

# source://rubocop//lib/rubocop/cop/style/empty_block_parameter.rb#38
def autocorrect(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/style/empty_block_parameter.rb#29 RuboCop::Cop::Style::EmptyBlockParameter::MSG = T.let(T.unsafe(nil), String)

# Checks for case statements with an empty condition. # # @example # # # bad: # case # when x == 0 # puts ‘x is 0’ # when y == 0 # puts ‘y is 0’ # else # puts ‘neither is 0’ # end # # # good: # if x == 0 # puts ‘x is 0’ # elsif y == 0 # puts ‘y is 0’ # else # puts ‘neither is 0’ # end # # # good: (the case condition node is not empty) # case n # when 0 # puts ‘zero’ # when 1 # puts ‘one’ # else # puts ‘more’ # end # # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#38 class RuboCop::Cop::Style::EmptyCaseCondition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#46
def on_case(case_node); end

private

# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#63
def autocorrect(corrector, case_node); end

# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#70
def correct_case_when(corrector, case_node, when_nodes); end

# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#82
def correct_when_conditions(corrector, when_nodes); end

# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#97
def keep_first_when_comment(case_range, corrector); end

# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#107
def replace_then_with_line_break(corrector, conditions, when_node); end

end

# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#42 RuboCop::Cop::Style::EmptyCaseCondition::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#43 RuboCop::Cop::Style::EmptyCaseCondition::NOT_SUPPORTED_PARENT_TYPES = T.let(T.unsafe(nil), Array)

# Checks for empty else-clauses, possibly including comments and/or an # explicit ‘nil` depending on the EnforcedStyle. # # @example EnforcedStyle: both (default) # # warn on empty else and else with nil in it # # # bad # if condition # statement # else # nil # end # # # bad # if condition # statement # else # end # # # good # if condition # statement # else # statement # end # # # good # if condition # statement # end # @example EnforcedStyle: empty # # warn only on empty else # # # bad # if condition # statement # else # end # # # good # if condition # statement # else # nil # end # # # good # if condition # statement # else # statement # end # # # good # if condition # statement # end # @example EnforcedStyle: nil # # warn on else with nil in it # # # bad # if condition # statement # else # nil # end # # # good # if condition # statement # else # end # # # good # if condition # statement # else # statement # end # # # good # if condition # statement # end # @example AllowComments: false (default) # # # bad # if condition # statement # else # # something comment # nil # end # # # bad # if condition # statement # else # # something comment # end # @example AllowComments: true # # # good # if condition # statement # else # # something comment # nil # end # # # good # if condition # statement # else # # something comment # end # # source://rubocop//lib/rubocop/cop/style/empty_else.rb#127 class RuboCop::Cop::Style::EmptyElse < ::RuboCop::Cop::Base

include ::RuboCop::Cop::OnNormalIfUnless
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/empty_else.rb#139
def on_case(node); end

# source://rubocop//lib/rubocop/cop/style/empty_else.rb#135
def on_normal_if_unless(node); end

private

# source://rubocop//lib/rubocop/cop/style/empty_else.rb#172
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_else.rb#193
def autocorrect_forbidden?(type); end

# source://rubocop//lib/rubocop/cop/style/empty_else.rb#186
def base_node(node); end

# source://rubocop//lib/rubocop/cop/style/empty_else.rb#145
def check(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_else.rb#180
def comment_in_else?(loc); end

# source://rubocop//lib/rubocop/cop/style/empty_else.rb#160
def empty_check(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_else.rb#156
def empty_style?; end

# source://rubocop//lib/rubocop/cop/style/empty_else.rb#197
def missing_else_style; end

# source://rubocop//lib/rubocop/cop/style/empty_else.rb#166
def nil_check(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_else.rb#152
def nil_style?; end

end

# source://rubocop//lib/rubocop/cop/style/empty_else.rb#133 RuboCop::Cop::Style::EmptyElse::MSG = T.let(T.unsafe(nil), String)

# Checks for using empty heredoc to reduce redundancy. # # @example # # # bad # <<~EOS # EOS # # <<-EOS # EOS # # <<EOS # EOS # # # good # ” # # # bad # do_something(<<~EOS) # EOS # # do_something(<<-EOS) # EOS # # do_something(<<EOS) # EOS # # # good # do_something(”) # # source://rubocop//lib/rubocop/cop/style/empty_heredoc.rb#36 class RuboCop::Cop::Style::EmptyHeredoc < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Heredoc
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/empty_heredoc.rb#43
def on_heredoc(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_heredoc.rb#63
def enforce_double_quotes?; end

# source://rubocop//lib/rubocop/cop/style/empty_heredoc.rb#59
def preferred_string_literal; end

# source://rubocop//lib/rubocop/cop/style/empty_heredoc.rb#67
def string_literals_config; end

end

# source://rubocop//lib/rubocop/cop/style/empty_heredoc.rb#41 RuboCop::Cop::Style::EmptyHeredoc::MSG = T.let(T.unsafe(nil), String)

# Checks for parentheses for empty lambda parameters. Parentheses # for empty lambda parameters do not cause syntax errors, but they are # redundant. # # @example # # bad # -> () { do_something } # # # good # -> { do_something } # # # good # -> (arg) { do_something(arg) } # # source://rubocop//lib/rubocop/cop/style/empty_lambda_parameter.rb#19 class RuboCop::Cop::Style::EmptyLambdaParameter < ::RuboCop::Cop::Base

include ::RuboCop::Cop::EmptyParameter
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/empty_lambda_parameter.rb#26
def on_block(node); end

private

# source://rubocop//lib/rubocop/cop/style/empty_lambda_parameter.rb#35
def autocorrect(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/style/empty_lambda_parameter.rb#24 RuboCop::Cop::Style::EmptyLambdaParameter::MSG = T.let(T.unsafe(nil), String)

# Checks for the use of a method, the result of which # would be a literal, like an empty array, hash, or string. # # @example # # bad # a = Array.new # h = Hash.new # s = String.new # # # good # a = [] # h = {} # s = ” # # source://rubocop//lib/rubocop/cop/style/empty_literal.rb#19 class RuboCop::Cop::Style::EmptyLiteral < ::RuboCop::Cop::Base

include ::RuboCop::Cop::FrozenStringLiteral
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#31
def array_node(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#40
def array_with_block(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#34
def hash_node(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#43
def hash_with_block(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#50
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#37
def str_node(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#111
def correction(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#74
def enforce_double_quotes?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#82
def first_argument_unparenthesized?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#129
def frozen_strings?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#102
def offense_array_node?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#106
def offense_hash_node?(node); end

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#60
def offense_message(node); end

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#70
def preferred_string_literal; end

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#89
def replacement_range(node); end

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#78
def string_literals_config; end

end

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#24 RuboCop::Cop::Style::EmptyLiteral::ARR_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#25 RuboCop::Cop::Style::EmptyLiteral::HASH_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#28 RuboCop::Cop::Style::EmptyLiteral::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/empty_literal.rb#26 RuboCop::Cop::Style::EmptyLiteral::STR_MSG = T.let(T.unsafe(nil), String)

# Checks for the formatting of empty method definitions. # By default it enforces empty method definitions to go on a single # line (compact style), but it can be configured to enforce the ‘end` # to go on its own line (expanded style). # # NOTE: A method definition is not considered empty if it contains # comments. # # NOTE: Autocorrection will not be applied for the `compact` style # if the resulting code is longer than the `Max` configuration for # `Layout/LineLength`, but an offense will still be registered. # # @example EnforcedStyle: compact (default) # # bad # def foo(bar) # end # # def self.foo(bar) # end # # # good # def foo(bar); end # # def foo(bar) # # baz # end # # def self.foo(bar); end # @example EnforcedStyle: expanded # # bad # def foo(bar); end # # def self.foo(bar); end # # # good # def foo(bar) # end # # def self.foo(bar) # end # # source://rubocop//lib/rubocop/cop/style/empty_method.rb#47 class RuboCop::Cop::Style::EmptyMethod < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/empty_method.rb#54
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/empty_method.rb#54
def on_defs(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_method.rb#95
def compact?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_method.rb#103
def compact_style?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_method.rb#73
def correct_style?(node); end

# source://rubocop//lib/rubocop/cop/style/empty_method.rb#77
def corrected(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_method.rb#99
def expanded?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/empty_method.rb#107
def expanded_style?; end

# source://rubocop//lib/rubocop/cop/style/empty_method.rb#89
def joint(node); end

# source://rubocop//lib/rubocop/cop/style/empty_method.rb#111
def max_line_length; end

# source://rubocop//lib/rubocop/cop/style/empty_method.rb#69
def message(_range); end

end

# source://rubocop//lib/rubocop/cop/style/empty_method.rb#51 RuboCop::Cop::Style::EmptyMethod::MSG_COMPACT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/empty_method.rb#52 RuboCop::Cop::Style::EmptyMethod::MSG_EXPANDED = T.let(T.unsafe(nil), String)

# Checks ensures source files have no utf-8 encoding comments. # # @example # # bad # # encoding: UTF-8 # # coding: UTF-8 # # -*- coding: UTF-8 -*- # # source://rubocop//lib/rubocop/cop/style/encoding.rb#12 class RuboCop::Cop::Style::Encoding < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/encoding.rb#20
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/encoding.rb#32
def comments; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/encoding.rb#43
def offense?(comment); end

# source://rubocop//lib/rubocop/cop/style/encoding.rb#47
def register_offense(line_number, comment); end

end

# source://rubocop//lib/rubocop/cop/style/encoding.rb#17 RuboCop::Cop::Style::Encoding::ENCODING_PATTERN = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/encoding.rb#16 RuboCop::Cop::Style::Encoding::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/encoding.rb#18 RuboCop::Cop::Style::Encoding::SHEBANG = T.let(T.unsafe(nil), String)

# Checks for END blocks. # # @example # # bad # END { puts ‘Goodbye!’ } # # # good # at_exit { puts ‘Goodbye!’ } # # source://rubocop//lib/rubocop/cop/style/end_block.rb#15 class RuboCop::Cop::Style::EndBlock < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/end_block.rb#20
def on_postexe(node); end

end

# source://rubocop//lib/rubocop/cop/style/end_block.rb#18 RuboCop::Cop::Style::EndBlock::MSG = T.let(T.unsafe(nil), String)

# Checks for endless methods. # # It can enforce either the use of endless methods definitions # for single-lined method bodies, or disallow endless methods. # # Other method definition types are not considered by this cop. # # The supported styles are: # # * allow_single_line (default) - only single line endless method definitions are allowed. # * allow_always - all endless method definitions are allowed. # * disallow - all endless method definitions are disallowed. # # NOTE: Incorrect endless method definitions will always be # corrected to a multi-line definition. # # @example EnforcedStyle: allow_single_line (default) # # good # def my_method() = x # # # bad, multi-line endless method # def my_method() = x.foo # .bar # .baz # @example EnforcedStyle: allow_always # # good # def my_method() = x # # # good # def my_method() = x.foo # .bar # .baz # @example EnforcedStyle: disallow # # bad # def my_method() = x # # # bad # def my_method() = x.foo # .bar # .baz # # source://rubocop//lib/rubocop/cop/style/endless_method.rb#49 class RuboCop::Cop::Style::EndlessMethod < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::TargetRubyVersion
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/endless_method.rb#60
def on_def(node); end

private

# source://rubocop//lib/rubocop/cop/style/endless_method.rb#95
def arguments(node, missing = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/endless_method.rb#85
def correct_to_multiline(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/endless_method.rb#70
def handle_allow_style(node); end

# source://rubocop//lib/rubocop/cop/style/endless_method.rb#79
def handle_disallow_style(node); end

end

# source://rubocop//lib/rubocop/cop/style/endless_method.rb#56 RuboCop::Cop::Style::EndlessMethod::CORRECTION_STYLES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/endless_method.rb#57 RuboCop::Cop::Style::EndlessMethod::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/endless_method.rb#58 RuboCop::Cop::Style::EndlessMethod::MSG_MULTI_LINE = T.let(T.unsafe(nil), String)

# Checks for consistent usage of ‘ENV`. If `nil` is used as # the second argument of `ENV.fetch`, it is treated as a bad case like `ENV[]`. # # @example # # # bad # ENV # ENV.fetch(’HOME’, nil) # # # good # Dir.home # # # good # ENV.fetch(‘HOME’, default) # # source://rubocop//lib/rubocop/cop/style/env_home.rb#31 class RuboCop::Cop::Style::EnvHome < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/env_home.rb#38
def env_home?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/env_home.rb#45
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/env_home.rb#34 RuboCop::Cop::Style::EnvHome::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/env_home.rb#35 RuboCop::Cop::Style::EnvHome::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Ensures that eval methods (‘eval`, `instance_eval`, `class_eval` # and `module_eval`) are given filename and line number values (`_FILE_` # and `_LINE_`). This data is used to ensure that any errors raised # within the evaluated code will be given the correct identification # in a backtrace. # # The cop also checks that the line number given relative to `_LINE_` is # correct. # # This cop will autocorrect incorrect or missing filename and line number # values. However, if `eval` is called without a binding argument, the cop # will not attempt to automatically add a binding, or add filename and # line values. # # This cop works only when a string literal is given as a code string. # No offense is reported if a string variable is given as below: # # @example # # bad # eval <<-RUBY # def do_something # end # RUBY # # # bad # C.class_eval <<-RUBY # def do_something # end # RUBY # # # good # eval <<-RUBY, binding, __FILE__, __LINE__ + 1 # def do_something # end # RUBY # # # good # C.class_eval <<-RUBY, __FILE__, __LINE__ + 1 # def do_something # end # RUBY # @example # # not checked # code = <<-RUBY # def do_something # end # RUBY # eval code # # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#56 class RuboCop::Cop::Style::EvalWithLocation < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#74
def line_with_offset?(param0 = T.unsafe(nil), param1, param2); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#81
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#69
def valid_eval_receiver?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#186
def add_offense_for_different_line(node, line_node, line_diff); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#131
def add_offense_for_incorrect_line(method_name, line_node, sign, line_diff); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#201
def add_offense_for_missing_line(node, code); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#208
def add_offense_for_missing_location(node, code); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#180
def add_offense_for_same_line(node, line_node); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#143
def check_file(node, file_node); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#156
def check_line(node, code); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#95
def check_location(node, code); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#193
def expected_line(sign, line_diff); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#122
def file_and_line(node); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#168
def line_difference(line_node, code); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#220
def missing_line(node, code); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#109
def register_offense(node, &block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#114
def special_file_keyword?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#118
def special_line_keyword?(node); end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#172
def string_first_line(str_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#127
def with_binding?(node); end

end

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#59 RuboCop::Cop::Style::EvalWithLocation::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#60 RuboCop::Cop::Style::EvalWithLocation::MSG_EVAL = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#61 RuboCop::Cop::Style::EvalWithLocation::MSG_INCORRECT_FILE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#63 RuboCop::Cop::Style::EvalWithLocation::MSG_INCORRECT_LINE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#66 RuboCop::Cop::Style::EvalWithLocation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for places where ‘Integer#even?` or `Integer#odd?` # can be used. # # @example # # # bad # if x % 2 == 0 # end # # # good # if x.even? # end # # source://rubocop//lib/rubocop/cop/style/even_odd.rb#18 class RuboCop::Cop::Style::EvenOdd < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/even_odd.rb#25
def even_odd_candidate?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/even_odd.rb#33
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/even_odd.rb#45
def replacement_method(arg, method); end

end

# source://rubocop//lib/rubocop/cop/style/even_odd.rb#21 RuboCop::Cop::Style::EvenOdd::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/even_odd.rb#22 RuboCop::Cop::Style::EvenOdd::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for exact regexp match inside Regexp literals. # # @example # # # bad # string =~ /Astringz/ # string === /Astringz/ # string.match(/Astringz/) # string.match?(/Astringz/) # # # good # string == ‘string’ # # # bad # string !~ /Astringz/ # # # good # string != ‘string’ # # source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#25 class RuboCop::Cop::Style::ExactRegexpMatch < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#32
def exact_regexp_match(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#40
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#40
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#57
def exact_match_pattern?(parsed_regexp); end

# source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#64
def new_method(node); end

end

# source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#28 RuboCop::Cop::Style::ExactRegexpMatch::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#29 RuboCop::Cop::Style::ExactRegexpMatch::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for use of the ‘File.expand_path` arguments. # Likewise, it also checks for the `Pathname.new` argument. # # Contrastive bad case and good case are alternately shown in # the following examples. # # @example # # bad # File.expand_path(’..‘, __FILE__) # # # good # File.expand_path(__dir__) # # # bad # File.expand_path(’../..‘, __FILE__) # # # good # File.expand_path(’..‘, __dir__) # # # bad # File.expand_path(’.‘, __FILE__) # # # good # File.expand_path(__FILE__) # # # bad # Pathname(__FILE__).parent.expand_path # # # good # Pathname(__dir__).expand_path # # # bad # Pathname.new(__FILE__).parent.expand_path # # # good # Pathname.new(__dir__).expand_path # # source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#43 class RuboCop::Cop::Style::ExpandPathArguments < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#58
def file_expand_path(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#82
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#74
def pathname_new_parent_expand_path(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#66
def pathname_parent_expand_path(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#189
def arguments_range(node); end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#100
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#135
def autocorrect_expand_path(corrector, current_path, default_dir); end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#162
def depth(current_path); end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#113
def inspect_offense_for_expand_path(node, current_path, default_dir); end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#168
def parent_path(current_path); end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#182
def remove_parent_method(corrector, default_dir); end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#155
def strip_surrounded_quotes!(path_string); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#109
def unrecommended_argument?(default_dir); end

end

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#47 RuboCop::Cop::Style::ExpandPathArguments::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#49 RuboCop::Cop::Style::ExpandPathArguments::PATHNAME_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#51 RuboCop::Cop::Style::ExpandPathArguments::PATHNAME_NEW_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/expand_path_arguments.rb#55 RuboCop::Cop::Style::ExpandPathArguments::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Enforces the use of explicit block argument to avoid writing # block literal that just passes its arguments to another block. # # NOTE: This cop only registers an offense if the block args match the # yield args exactly. # # @example # # bad # def with_tmp_dir # Dir.mktmpdir do |tmp_dir| # Dir.chdir(tmp_dir) { |dir| yield dir } # block just passes arguments # end # end # # # bad # def nine_times # 9.times { yield } # end # # # good # def with_tmp_dir(&block) # Dir.mktmpdir do |tmp_dir| # Dir.chdir(tmp_dir, &block) # end # end # # with_tmp_dir do |dir| # puts “dir is accessible as a parameter and pwd is set: #{dir}” # end # # # good # def nine_times(&block) # 9.times(&block) # end # # source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#41 class RuboCop::Cop::Style::ExplicitBlockArgument < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# @return [ExplicitBlockArgument] a new instance of ExplicitBlockArgument
#
# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#57
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#62
def on_yield(node); end

# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#49
def yielding_block?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#108
def add_block_argument(node, corrector, block_name); end

# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#147
def block_body_range(block_node, send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#125
def call_like?(node); end

# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#137
def correct_call_node(node, corrector, block_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#120
def empty_arguments?(node); end

# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#87
def extract_block_name(def_node); end

# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#129
def insert_argument(node, corrector, block_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#95
def yielding_arguments?(block_args, yield_args); end

class << self
  # source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#53
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/explicit_block_argument.rb#45 RuboCop::Cop::Style::ExplicitBlockArgument::MSG = T.let(T.unsafe(nil), String)

# Enforces consistency when using exponential notation # for numbers in the code (eg 1.2e4). Different styles are supported: # # * ‘scientific` which enforces a mantissa between 1 (inclusive) and 10 (exclusive). # * `engineering` which enforces the exponent to be a multiple of 3 and the mantissa # to be between 0.1 (inclusive) and 10 (exclusive). # * `integral` which enforces the mantissa to always be a whole number without # trailing zeroes. # # @example EnforcedStyle: scientific (default) # # Enforces a mantissa between 1 (inclusive) and 10 (exclusive). # # # bad # 10e6 # 0.3e4 # 11.7e5 # 3.14e0 # # # good # 1e7 # 3e3 # 1.17e6 # 3.14 # @example EnforcedStyle: engineering # # Enforces using multiple of 3 exponents, # # mantissa should be between 0.1 (inclusive) and 1000 (exclusive) # # # bad # 3.2e7 # 0.1e5 # 12e5 # 1232e6 # # # good # 32e6 # 10e3 # 1.2e6 # 1.232e9 # @example EnforcedStyle: integral # # Enforces the mantissa to have no decimal part and no # # trailing zeroes. # # # bad # 3.2e7 # 0.1e5 # 120e4 # # # good # 32e6 # 1e4 # 12e5 # # source://rubocop//lib/rubocop/cop/style/exponential_notation.rb#60 class RuboCop::Cop::Style::ExponentialNotation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle

# source://rubocop//lib/rubocop/cop/style/exponential_notation.rb#68
def on_float(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/exponential_notation.rb#79
def engineering?(node); end

# source://rubocop//lib/rubocop/cop/style/exponential_notation.rb#90
def integral(node); end

# source://rubocop//lib/rubocop/cop/style/exponential_notation.rb#110
def message(_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/exponential_notation.rb#95
def offense?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/exponential_notation.rb#74
def scientific?(node); end

end

# source://rubocop//lib/rubocop/cop/style/exponential_notation.rb#62 RuboCop::Cop::Style::ExponentialNotation::MESSAGES = T.let(T.unsafe(nil), Hash)

# Suggests ‘ENV.fetch` for the replacement of `ENV[]`. # `ENV[]` silently fails and returns `nil` when the environment variable is unset, # which may cause unexpected behaviors when the developer forgets to set it. # On the other hand, `ENV.fetch` raises KeyError or returns the explicitly # specified default value. # # @example # # bad # ENV # x = ENV # # # good # ENV.fetch(’X’) # x = ENV.fetch(‘X’) # # # also good # !ENV # ENV.some_method # (e.g. ‘.nil?`) # # source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#25 class RuboCop::Cop::Style::FetchEnvVar < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#31
def env_with_bracket?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#35
def on_send(node); end

private

# The following are allowed cases:
#
# - Used as a flag (e.g., `if ENV['X']` or `!ENV['X']`) because
#   it simply checks whether the variable is set.
# - Receiving a message with dot syntax, e.g. `ENV['X'].nil?`.
# - `ENV['key']` assigned by logical AND/OR assignment.
# - `ENV['key']` is the LHS of a `||`.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#105
def allowable_use?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#48
def allowed_var?(node); end

# The following are allowed cases:
#
# - `ENV['key']` is a receiver of `||=`, e.g. `ENV['X'] ||= y`.
# - `ENV['key']` is a receiver of `&&=`, e.g. `ENV['X'] &&= y`.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#113
def assigned?(node); end

# Check if the node is a receiver and receives a message with dot syntax.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#89
def message_chained_with_dot?(node); end

# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#126
def new_code(name_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#84
def offensive?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#120
def or_lhs?(node); end

# Avoid offending in the following cases:
# `ENV['key'] if ENV['key'] = x`
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#80
def partial_matched?(node, condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#53
def used_as_flag?(node); end

# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#60
def used_if_condition_in_body(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#69
def used_in_condition?(node, condition); end

end

# source://rubocop//lib/rubocop/cop/style/fetch_env_var.rb#28 RuboCop::Cop::Style::FetchEnvVar::MSG = T.let(T.unsafe(nil), String)

# Prefer to use ‘File.empty?(’path/to/file’)‘ when checking if a file is empty. # # @example # # bad # File.zero?(’path/to/file’) # File.size(‘path/to/file’) == 0 # File.size(‘path/to/file’) >= 0 # File.size(‘path/to/file’).zero? # File.read(‘path/to/file’).empty? # File.binread(‘path/to/file’) == ” # FileTest.zero?(‘path/to/file’) # # # good # File.empty?(‘path/to/file’) # FileTest.empty?(‘path/to/file’) # # source://rubocop//lib/rubocop/cop/style/file_empty.rb#27 class RuboCop::Cop::Style::FileEmpty < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/file_empty.rb#37
def offensive?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/file_empty.rb#49
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/file_empty.rb#62
def bang(node); end

end

# source://rubocop//lib/rubocop/cop/style/file_empty.rb#31 RuboCop::Cop::Style::FileEmpty::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/file_empty.rb#32 RuboCop::Cop::Style::FileEmpty::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Favor ‘File.(bin)read` convenience methods. # # @example # ## text mode # # bad # File.open(filename).read # File.open(filename, &:read) # File.open(filename) { |f| f.read } # File.open(filename) do |f| # f.read # end # File.open(filename, ’r’).read # File.open(filename, ‘r’, &:read) # File.open(filename, ‘r’) do |f| # f.read # end # # # good # File.read(filename) # @example # ## binary mode # # bad # File.open(filename, ‘rb’).read # File.open(filename, ‘rb’, &:read) # File.open(filename, ‘rb’) do |f| # f.read # end # # # good # File.binread(filename) # # source://rubocop//lib/rubocop/cop/style/file_read.rb#38 class RuboCop::Cop::Style::FileRead < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/file_read.rb#65
def block_read?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/file_read.rb#49
def file_open?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/file_read.rb#69
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/file_read.rb#60
def send_read?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/file_read.rb#84
def evidence(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/file_read.rb#100
def file_open_read?(node); end

# source://rubocop//lib/rubocop/cop/style/file_read.rb#106
def read_method(mode); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/file_read.rb#92
def read_node?(node, block_pass); end

end

# source://rubocop//lib/rubocop/cop/style/file_read.rb#42 RuboCop::Cop::Style::FileRead::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/file_read.rb#46 RuboCop::Cop::Style::FileRead::READ_FILE_START_TO_FINISH_MODES = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/style/file_read.rb#44 RuboCop::Cop::Style::FileRead::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Favor ‘File.(bin)write` convenience methods. # # NOTE: There are different method signatures between `File.write` (class method) # and `File#write` (instance method). The following case will be allowed because # static analysis does not know the contents of the splat argument: # # [source,ruby] # —- # File.open(filename, ’w’) do |f| # f.write(*objects) # end # —- # # @example # ## text mode # # bad # File.open(filename, ‘w’).write(content) # File.open(filename, ‘w’) do |f| # f.write(content) # end # # # good # File.write(filename, content) # @example # ## binary mode # # bad # File.open(filename, ‘wb’).write(content) # File.open(filename, ‘wb’) do |f| # f.write(content) # end # # # good # File.binwrite(filename, content) # # source://rubocop//lib/rubocop/cop/style/file_write.rb#41 class RuboCop::Cop::Style::FileWrite < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/file_write.rb#68
def block_write?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/file_write.rb#85
def evidence(node); end

# source://rubocop//lib/rubocop/cop/style/file_write.rb#52
def file_open?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/file_write.rb#72
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/file_write.rb#63
def send_write?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
# @yield [content]
#
# source://rubocop//lib/rubocop/cop/style/file_write.rb#95
def file_open_write?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/file_write.rb#123
def heredoc?(write_node); end

# source://rubocop//lib/rubocop/cop/style/file_write.rb#128
def heredoc_range(first_argument); end

# source://rubocop//lib/rubocop/cop/style/file_write.rb#108
def replacement(mode, filename, content, write_node); end

# source://rubocop//lib/rubocop/cop/style/file_write.rb#104
def write_method(mode); end

end

# source://rubocop//lib/rubocop/cop/style/file_write.rb#45 RuboCop::Cop::Style::FileWrite::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/file_write.rb#47 RuboCop::Cop::Style::FileWrite::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/style/file_write.rb#49 RuboCop::Cop::Style::FileWrite::TRUNCATING_WRITE_MODES = T.let(T.unsafe(nil), Set)

# Checks for division with integers coerced to floats. # It is recommended to either always use ‘fdiv` or coerce one side only. # This cop also provides other options for code consistency. # # @example EnforcedStyle: single_coerce (default) # # bad # a.to_f / b.to_f # # # good # a.to_f / b # a / b.to_f # @example EnforcedStyle: left_coerce # # bad # a / b.to_f # a.to_f / b.to_f # # # good # a.to_f / b # @example EnforcedStyle: right_coerce # # bad # a.to_f / b # a.to_f / b.to_f # # # good # a / b.to_f # @example EnforcedStyle: fdiv # # bad # a / b.to_f # a.to_f / b # a.to_f / b.to_f # # # good # a.fdiv(b) # # source://rubocop//lib/rubocop/cop/style/float_division.rb#53 class RuboCop::Cop::Style::FloatDivision < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/float_division.rb#79
def any_coerce?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/float_division.rb#75
def both_coerce?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/float_division.rb#71
def left_coerce?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/float_division.rb#83
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/float_division.rb#67
def right_coerce?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/float_division.rb#121
def add_to_f_method(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/float_division.rb#130
def correct_from_slash_to_fdiv(corrector, node, receiver, argument); end

# source://rubocop//lib/rubocop/cop/style/float_division.rb#141
def extract_receiver_source(node); end

# source://rubocop//lib/rubocop/cop/style/float_division.rb#117
def message(_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/float_division.rb#102
def offense_condition?(node); end

# source://rubocop//lib/rubocop/cop/style/float_division.rb#125
def remove_to_f_method(corrector, send_node); end

end

# source://rubocop//lib/rubocop/cop/style/float_division.rb#57 RuboCop::Cop::Style::FloatDivision::MESSAGES = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/float_division.rb#64 RuboCop::Cop::Style::FloatDivision::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Looks for uses of the ‘for` keyword or `each` method. The # preferred alternative is set in the EnforcedStyle configuration # parameter. An `each` call with a block on a single line is always # allowed. # # @example EnforcedStyle: each (default) # # bad # def foo # for n in [1, 2, 3] do # puts n # end # end # # # good # def foo # [1, 2, 3].each do |n| # puts n # end # end # @example EnforcedStyle: for # # bad # def foo # [1, 2, 3].each do |n| # puts n # end # end # # # good # def foo # for n in [1, 2, 3] do # puts n # end # end # # source://rubocop//lib/rubocop/cop/style/for.rb#45 class RuboCop::Cop::Style::For < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/for.rb#65
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/for.rb#54
def on_for(node); end

# source://rubocop//lib/rubocop/cop/style/for.rb#65
def on_numblock(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/for.rb#84
def suspect_enumerable?(node); end

end

# source://rubocop//lib/rubocop/cop/style/for.rb#50 RuboCop::Cop::Style::For::EACH_LENGTH = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cop/style/for.rb#51 RuboCop::Cop::Style::For::PREFER_EACH = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/for.rb#52 RuboCop::Cop::Style::For::PREFER_FOR = T.let(T.unsafe(nil), String)

# Enforces the use of a single string formatting utility. # Valid options include ‘Kernel#format`, `Kernel#sprintf`, and `String#%`. # # The detection of `String#%` cannot be implemented in a reliable # manner for all cases, so only two scenarios are considered - # if the first argument is a string literal and if the second # argument is an array literal. # # Autocorrection will be applied when using argument is a literal or known built-in conversion # methods such as `to_d`, `to_f`, `to_h`, `to_i`, `to_r`, `to_s`, and `to_sym` on variables, # provided that their return value is not an array. For example, when using `to_s`, # `’%s’ % [1, 2, 3].to_s` can be autocorrected without any incompatibility: # # [source,ruby] # —- # ‘%s’ % [1, 2, 3] #=> ‘1’ # format(‘%s’, [1, 2, 3]) #=> ‘[1, 2, 3]’ # ‘%s’ % [1, 2, 3].to_s #=> ‘[1, 2, 3]’ # —- # # @example EnforcedStyle: format (default) # # bad # puts sprintf(‘%10s’, ‘foo’) # puts ‘%10s’ % ‘foo’ # # # good # puts format(‘%10s’, ‘foo’) # @example EnforcedStyle: sprintf # # bad # puts format(‘%10s’, ‘foo’) # puts ‘%10s’ % ‘foo’ # # # good # puts sprintf(‘%10s’, ‘foo’) # @example EnforcedStyle: percent # # bad # puts format(‘%10s’, ‘foo’) # puts sprintf(‘%10s’, ‘foo’) # # # good # puts ‘%10s’ % ‘foo’ # # source://rubocop//lib/rubocop/cop/style/format_string.rb#50 class RuboCop::Cop::Style::FormatString < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/format_string.rb#61
def formatter(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/format_string.rb#74
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/format_string.rb#70
def variable_argument?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/format_string.rb#102
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/format_string.rb#118
def autocorrect_from_percent(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/format_string.rb#132
def autocorrect_to_percent(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/format_string.rb#88
def autocorrectable?(node); end

# source://rubocop//lib/rubocop/cop/style/format_string.rb#145
def format_single_parameter(arg); end

# source://rubocop//lib/rubocop/cop/style/format_string.rb#94
def message(detected_style); end

# source://rubocop//lib/rubocop/cop/style/format_string.rb#98
def method_name(style_name); end

end

# Known conversion methods whose return value is not an array. # # source://rubocop//lib/rubocop/cop/style/format_string.rb#58 RuboCop::Cop::Style::FormatString::AUTOCORRECTABLE_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/format_string.rb#54 RuboCop::Cop::Style::FormatString::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/format_string.rb#55 RuboCop::Cop::Style::FormatString::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Use a consistent style for named format string tokens. # # NOTE: ‘unannotated` style cop only works for strings # which are passed as arguments to those methods: # `printf`, `sprintf`, `format`, `%`. # The reason is that unannotated format is very similar # to encoded URLs or Date/Time formatting strings. # # This cop can be customized allowed methods with `AllowedMethods`. # By default, there are no methods to allowed. # # It is allowed to contain unannotated token # if the number of them is less than or equals to # `MaxUnannotatedPlaceholdersAllowed`. # # @example EnforcedStyle: annotated (default) # # # bad # format(’%{greeting}‘, greeting: ’Hello’) # format(‘%s’, ‘Hello’) # # # good # format(‘%<greeting>s’, greeting: ‘Hello’) # @example EnforcedStyle: template # # # bad # format(‘%<greeting>s’, greeting: ‘Hello’) # format(‘%s’, ‘Hello’) # # # good # format(‘%{greeting}’, greeting: ‘Hello’) # @example EnforcedStyle: unannotated # # # bad # format(‘%<greeting>s’, greeting: ‘Hello’) # format(‘%{greeting}’, greeting: ‘Hello’) # # # good # format(‘%s’, ‘Hello’) # @example MaxUnannotatedPlaceholdersAllowed: 0 # # # bad # format(‘%06d’, 10) # format(‘%s %s.’, ‘Hello’, ‘world’) # # # good # format(‘%<number>06d’, number: 10) # @example MaxUnannotatedPlaceholdersAllowed: 1 (default) # # # bad # format(‘%s %s.’, ‘Hello’, ‘world’) # # # good # format(‘%06d’, 10) # @example AllowedMethods: [] (default) # # # bad # redirect(‘foo/%{bar_id}’) # @example AllowedMethods: [redirect] # # # good # redirect(‘foo/%{bar_id}’) # @example AllowedPatterns: [] (default) # # # bad # redirect(‘foo/%{bar_id}’) # @example AllowedPatterns: [‘redirect’] # # # good # redirect(‘foo/%{bar_id}’) # # source://rubocop//lib/rubocop/cop/style/format_string_token.rb#85 class RuboCop::Cop::Style::FormatStringToken < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#106
def format_string_in_typical_context?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#91
def on_str(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#213
def allowed_unannotated?(detections); end

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#139
def autocorrect_sequence(corrector, detected_sequence, token_range); end

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#124
def check_sequence(detected_sequence, token_range); end

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#203
def collect_detections(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#135
def correctable_sequence?(detected_type); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#113
def format_string_token?(node); end

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#222
def max_unannotated_placeholders_allowed; end

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#160
def message(detected_style); end

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#165
def message_text(style); end

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#180
def str_contents(source_map); end

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#190
def token_ranges(contents); end

# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#174
def tokens(str_node, &block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#156
def unannotated_format?(node, detected_style); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#117
def use_allowed_method?(node); end

end

# Helps you transition from mutable string literals # to frozen string literals. # of files to enable frozen string literals. Frozen string literals may be # default in future Ruby. The comment will be added below a shebang and # encoding comment. The frozen string literal comment is only valid in Ruby 2.3+. # # Note that the cop will accept files where the comment exists but is set # to ‘false` instead of `true`. # # To require a blank line after this comment, please see # `Layout/EmptyLineAfterMagicComment` cop. # # @example EnforcedStyle: always (default) # # The `always` style will always add the frozen string literal comment # # to a file, regardless of the Ruby version or if `freeze` or `<<` are # # called on a string literal. # # bad # module Bar # # … # end # # # good # # frozen_string_literal: true # # module Bar # # … # end # # # good # # frozen_string_literal: false # # module Bar # # … # end # @example EnforcedStyle: never # # The `never` will enforce that the frozen string literal comment does # # not exist in a file. # # bad # # frozen_string_literal: true # # module Baz # # … # end # # # good # module Baz # # … # end # @example EnforcedStyle: always_true # # The `always_true` style enforces that the frozen string literal # # comment is set to `true`. This is a stricter option than `always` # # and forces projects to use frozen string literals. # # bad # # frozen_string_literal: false # # module Baz # # … # end # # # bad # module Baz # # … # end # # # good # # frozen_string_literal: true # # module Bar # # … # end # # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#84 class RuboCop::Cop::Style::FrozenStringLiteralComment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::FrozenStringLiteral
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#99
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#178
def disabled_offense(processed_source); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#190
def enable_comment(corrector); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#120
def ensure_comment(processed_source); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#126
def ensure_enabled_comment(processed_source); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#114
def ensure_no_comment(processed_source); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#214
def following_comment; end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#152
def frozen_string_literal_comment(processed_source); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#196
def insert_comment(corrector); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#137
def last_special_comment(processed_source); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#206
def line_range(line); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#158
def missing_offense(processed_source); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#164
def missing_true_offense(processed_source); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#210
def preceding_comment; end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#186
def remove_comment(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#170
def unnecessary_comment_offense(processed_source); end

end

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#96 RuboCop::Cop::Style::FrozenStringLiteralComment::MSG_DISABLED = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#94 RuboCop::Cop::Style::FrozenStringLiteralComment::MSG_MISSING = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#93 RuboCop::Cop::Style::FrozenStringLiteralComment::MSG_MISSING_TRUE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#95 RuboCop::Cop::Style::FrozenStringLiteralComment::MSG_UNNECESSARY = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#97 RuboCop::Cop::Style::FrozenStringLiteralComment::SHEBANG = T.let(T.unsafe(nil), String)

# Enforces the use of ‘$stdout/$stderr/$stdin` instead of `STDOUT/STDERR/STDIN`. # `STDOUT/STDERR/STDIN` are constants, and while you can actually # reassign (possibly to redirect some stream) constants in Ruby, you’ll get # an interpreter warning if you do so. # # @example # # bad # STDOUT.puts(‘hello’) # # hash = { out: STDOUT, key: value } # # def m(out = STDOUT) # out.puts(‘hello’) # end # # # good # $stdout.puts(‘hello’) # # hash = { out: $stdout, key: value } # # def m(out = $stdout) # out.puts(‘hello’) # end # # source://rubocop//lib/rubocop/cop/style/global_std_stream.rb#34 class RuboCop::Cop::Style::GlobalStdStream < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/global_std_stream.rb#42
def const_to_gvar_assignment?(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/style/global_std_stream.rb#46
def on_const(node); end

private

# source://rubocop//lib/rubocop/cop/style/global_std_stream.rb#64
def gvar_name(const_name); end

# source://rubocop//lib/rubocop/cop/style/global_std_stream.rb#60
def message(const_name); end

end

# source://rubocop//lib/rubocop/cop/style/global_std_stream.rb#37 RuboCop::Cop::Style::GlobalStdStream::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/global_std_stream.rb#39 RuboCop::Cop::Style::GlobalStdStream::STD_STREAMS = T.let(T.unsafe(nil), Set)

# Looks for uses of global variables. # It does not report offenses for built-in global variables. # Built-in global variables are allowed by default. Additionally # users can allow additional variables via the AllowedVariables option. # # Note that backreferences like $1, $2, etc are not global variables. # # @example # # bad # $foo = 2 # bar = $foo + 5 # # # good # FOO = 2 # foo = 2 # $stdin.read # # source://rubocop//lib/rubocop/cop/style/global_vars.rb#22 class RuboCop::Cop::Style::GlobalVars < ::RuboCop::Cop::Base

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/global_vars.rb#60
def allowed_var?(global_var); end

# source://rubocop//lib/rubocop/cop/style/global_vars.rb#72
def check(node); end

# source://rubocop//lib/rubocop/cop/style/global_vars.rb#64
def on_gvar(node); end

# source://rubocop//lib/rubocop/cop/style/global_vars.rb#68
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/global_vars.rb#56
def user_vars; end

end

# built-in global variables and their English aliases # www.zenspider.com/ruby/quickref.html # # source://rubocop//lib/rubocop/cop/style/global_vars.rb#27 RuboCop::Cop::Style::GlobalVars::BUILT_IN_VARS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/global_vars.rb#23 RuboCop::Cop::Style::GlobalVars::MSG = T.let(T.unsafe(nil), String)

# Use a guard clause instead of wrapping the code inside a conditional # expression # # A condition with an ‘elsif` or `else` branch is allowed unless # one of `return`, `break`, `next`, `raise`, or `fail` is used # in the body of the conditional expression. # # NOTE: Autocorrect works in most cases except with if-else statements # that contain logical operators such as `foo || raise(’exception’)‘ # # @example # # bad # def test # if something # work # end # end # # # good # def test # return unless something # # work # end # # # also good # def test # work if something # end # # # bad # if something # raise ’exception’ # else # ok # end # # # good # raise ‘exception’ if something # ok # # # bad # if something # foo || raise(‘exception’) # else # ok # end # # # good # foo || raise(‘exception’) if something # ok # # # bad # define_method(:test) do # if something # work # end # end # # # good # define_method(:test) do # return unless something # # work # end # # # also good # define_method(:test) do # work if something # end # @example AllowConsecutiveConditionals: false (default) # # bad # def test # if foo? # work # end # # if bar? # <- reports an offense # work # end # end # @example AllowConsecutiveConditionals: true # # good # def test # if foo? # work # end # # if bar? # work # end # end # # # bad # def test # if foo? # work # end # # do_something # # if bar? # <- reports an offense # work # end # end # # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#114 class RuboCop::Cop::Style::GuardClause < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::MinBodyLength
include ::RuboCop::Cop::StatementModifier
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#132
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#123
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#123
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#139
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#132
def on_numblock(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#275
def accepted_form?(node, ending: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#283
def accepted_if?(node, ending); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#297
def allowed_consecutive_conditionals?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#265
def and_or_guard_clause?(guard_clause); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#210
def autocorrect(corrector, node, condition, replacement, guard); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#236
def autocorrect_heredoc_argument(corrector, node, heredoc_branch, leave_branch, guard); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#159
def check_ending_body(body); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#170
def check_ending_if(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#180
def consecutive_conditionals?(parent, node); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#257
def guard_clause_source(guard_clause); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#232
def heredoc?(argument); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#248
def range_of_branch_to_remove(node, guard); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#188
def register_offense(node, scope_exiting_keyword, conditional_keyword, guard = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#293
def remove_whole_lines(corrector, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#270
def too_long_for_single_line?(node, example); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#279
def trivial?(node); end

end

# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#120 RuboCop::Cop::Style::GuardClause::MSG = T.let(T.unsafe(nil), String)

# Checks for presence or absence of braces around hash literal as a last # array item depending on configuration. # # NOTE: This cop will ignore arrays where all items are hashes, regardless of # EnforcedStyle. # # @example EnforcedStyle: braces (default) # # bad # [1, 2, one: 1, two: 2] # # # good # [1, 2, { one: 1, two: 2 }] # # # good # [{ one: 1 }, { two: 2 }] # @example EnforcedStyle: no_braces # # bad # [1, 2, { one: 1, two: 2 }] # # # good # [1, 2, one: 1, two: 2] # # # good # [{ one: 1 }, { two: 2 }] # # source://rubocop//lib/rubocop/cop/style/hash_as_last_array_item.rb#31 class RuboCop::Cop::Style::HashAsLastArrayItem < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/hash_as_last_array_item.rb#36
def on_hash(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_as_last_array_item.rb#85
def braces_style?; end

# source://rubocop//lib/rubocop/cop/style/hash_as_last_array_item.rb#66
def check_braces(node); end

# source://rubocop//lib/rubocop/cop/style/hash_as_last_array_item.rb#74
def check_no_braces(node); end

# source://rubocop//lib/rubocop/cop/style/hash_as_last_array_item.rb#50
def containing_array(hash_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_as_last_array_item.rb#61
def explicit_array?(array); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_as_last_array_item.rb#55
def last_array_item?(array, node); end

# source://rubocop//lib/rubocop/cop/style/hash_as_last_array_item.rb#89
def remove_last_element_trailing_comma(corrector, node); end

end

# Checks the usage of pre-2.1 ‘Hash` method of converting enumerables and # sequences of values to hashes. # # Correction code from splat argument (`Hash`) is not simply determined. For example, # `Hash` can be replaced with `ary.each_slice(2).to_h` but it will be complicated. # So, `AllowSplatArgument` option is true by default to allow splat argument for simple code. # # @example # # bad # Hash # # # good # ary.to_h # # # bad # Hash[key1, value1, key2, value2] # # # good # {key1 => value1, key2 => value2} # @example AllowSplatArgument: true (default) # # good # Hash # @example AllowSplatArgument: false # # bad # Hash # # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#44 class RuboCop::Cop::Style::HashConversion < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#54
def hash_from_array?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#56
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#138
def allowed_splat_argument?; end

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#131
def args_to_hash(args); end

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#118
def multi_argument(node); end

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#94
def register_offense_for_hash(node, hash_argument); end

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#103
def register_offense_for_zip_method(node, zip_method); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#113
def requires_parens?(node); end

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#71
def single_argument(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#88
def use_zip_method_without_argument?(first_argument); end

end

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#49 RuboCop::Cop::Style::HashConversion::MSG_LITERAL_HASH_ARG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#48 RuboCop::Cop::Style::HashConversion::MSG_LITERAL_MULTI_ARG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#50 RuboCop::Cop::Style::HashConversion::MSG_SPLAT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#47 RuboCop::Cop::Style::HashConversion::MSG_TO_H = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#51 RuboCop::Cop::Style::HashConversion::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for uses of ‘each_key` and `each_value` Hash methods. # # NOTE: If you have an array of two-element arrays, you can put # parentheses around the block arguments to indicate that you’re not # working with a hash, and suppress RuboCop offenses. # # @example # # bad # hash.keys.each { |k| p k } # hash.each { |k, unused_value| p k } # # # good # hash.each_key { |k| p k } # # # bad # hash.values.each { |v| p v } # hash.each { |unused_key, v| p v } # # # good # hash.each_value { |v| p v } # @example AllowedReceivers: [‘execute’] # # good # execute(sql).keys.each { |v| p v } # execute(sql).values.each { |v| p v } # # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#36 class RuboCop::Cop::Style::HashEachMethods < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedReceivers
include ::RuboCop::Cop::Lint::UnusedArgument
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#74
def check_unused_block_args(node, key, value); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#51
def each_arguments(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#46
def kv_each(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#56
def kv_each_with_block_pass(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#60
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#95
def on_block_pass(node); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#60
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#180
def check_argument(variable); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#204
def correct_args(node, corrector); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#190
def correct_implicit(node, corrector, method_name); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#195
def correct_key_value_each(node, corrector); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#176
def format_message(method_name, current); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#103
def handleable?(node); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#211
def kv_range(outer_node); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#133
def message(prefer, method_name, unused_code); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#139
def register_each_args_offense(node, message, prefer, unused_range); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#110
def register_kv_offense(target, method); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#146
def register_kv_with_block_pass_offense(node, target, method); end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#167
def root_receiver(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#121
def unused_block_arg_exist?(node, block_arg); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#157
def use_array_converter_method_as_preceding?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#186
def used?(arg); end

end

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#43 RuboCop::Cop::Style::HashEachMethods::ARRAY_CONVERTER_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#41 RuboCop::Cop::Style::HashEachMethods::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#42 RuboCop::Cop::Style::HashEachMethods::UNUSED_BLOCK_ARG_MSG = T.let(T.unsafe(nil), String)

# Checks for usages of ‘Hash#reject`, `Hash#select`, and `Hash#filter` methods # that can be replaced with `Hash#except` method. # # This cop should only be enabled on Ruby version 3.0 or higher. # (`Hash#except` was added in Ruby 3.0.) # # For safe detection, it is limited to commonly used string and symbol comparisons # when used `==`. # And do not check `Hash#delete_if` and `Hash#keep_if` to change receiver object. # # @example # # # bad # {foo: 1, bar: 2, baz: 3}.reject {|k, v| k == :bar } # {foo: 1, bar: 2, baz: 3}.select {|k, v| k != :bar } # {foo: 1, bar: 2, baz: 3}.filter {|k, v| k != :bar } # {foo: 1, bar: 2, baz: 3}.reject {|k, v| %i[foo bar].include?(k) } # {foo: 1, bar: 2, baz: 3}.select {|k, v| !%i[foo bar].include?(k) } # {foo: 1, bar: 2, baz: 3}.filter {|k, v| !%i[foo bar].include?(k) } # # # good # {foo: 1, bar: 2, baz: 3}.except(:bar) # # source://rubocop//lib/rubocop/cop/style/hash_except.rb#33 class RuboCop::Cop::Style::HashExcept < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::TargetRubyVersion
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#60
def bad_method_with_active_support?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#44
def bad_method_with_poro?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#75
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#75
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_except.rb#94
def bad_method?(block); end

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#166
def decorate_source(value); end

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#174
def except_key(node); end

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#153
def except_key_source(key); end

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#147
def extract_body_if_negated(body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_except.rb#128
def included?(negated, body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_except.rb#132
def not_included?(negated, body); end

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#183
def offense_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_except.rb#136
def safe_to_register_offense?(block, except_key); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_except.rb#112
def semantically_except_method?(send, block); end

end

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#40 RuboCop::Cop::Style::HashExcept::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/hash_except.rb#41 RuboCop::Cop::Style::HashExcept::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for places where ‘case-when` represents a simple 1:1 # mapping and can be replaced with a hash lookup. # # @example MinBranchesCount: 3 (default) # # bad # case country # when ’europe’ # ‘eu.example.com’ # when ‘america’ # ‘us.example.com’ # when ‘australia’ # ‘au.example.com’ # end # # # good # SITES = { # ‘europe’ => ‘eu.example.com’, # ‘america’ => ‘us.example.com’, # ‘australia’ => ‘au.example.com’ # } # SITES # @example MinBranchesCount: 4 # # good # case country # when ‘europe’ # ‘eu.example.com’ # when ‘america’ # ‘us.example.com’ # when ‘australia’ # ‘au.example.com’ # end # # source://rubocop//lib/rubocop/cop/style/hash_like_case.rb#39 class RuboCop::Cop::Style::HashLikeCase < ::RuboCop::Cop::Base

include ::RuboCop::Cop::MinBranchesCount

# source://rubocop//lib/rubocop/cop/style/hash_like_case.rb#45
def hash_like_case?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_like_case.rb#53
def on_case(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_like_case.rb#65
def nodes_of_same_type?(nodes); end

end

# source://rubocop//lib/rubocop/cop/style/hash_like_case.rb#42 RuboCop::Cop::Style::HashLikeCase::MSG = T.let(T.unsafe(nil), String)

# Checks hash literal syntax. # # It can enforce either the use of the class hash rocket syntax or # the use of the newer Ruby 1.9 syntax (when applicable). # # A separate offense is registered for each problematic pair. # # The supported styles are: # # * ruby19 - forces use of the 1.9 syntax (e.g. ‘{a: 1}`) when hashes have # all symbols for keys # * hash_rockets - forces use of hash rockets for all hashes # * no_mixed_keys - simply checks for hashes with mixed syntaxes # * ruby19_no_mixed_keys - forces use of ruby 1.9 syntax and forbids mixed # syntax hashes # # This cop has `EnforcedShorthandSyntax` option. # It can enforce either the use of the explicit hash value syntax or # the use of Ruby 3.1’s hash value shorthand syntax. # # The supported styles are: # # * always - forces use of the 3.1 syntax (e.g. {foo:}) # * never - forces use of explicit hash literal value # * either - accepts both shorthand and explicit use of hash literal value # * consistent - forces use of the 3.1 syntax only if all values can be omitted in the hash # # @example EnforcedStyle: ruby19 (default) # # bad # {:a => 2} # {b: 1, :c => 2} # # # good # {a: 2, b: 1} # {:c => 2, ‘d’ => 2} # acceptable since ‘d’ isn’t a symbol # {d: 1, ‘e’ => 2} # technically not forbidden # @example EnforcedStyle: hash_rockets # # bad # {a: 1, b: 2} # {c: 1, ‘d’ => 5} # # # good # {:a => 1, :b => 2} # @example EnforcedStyle: no_mixed_keys # # bad # {:a => 1, b: 2} # {c: 1, ‘d’ => 2} # # # good # {:a => 1, :b => 2} # {c: 1, d: 2} # @example EnforcedStyle: ruby19_no_mixed_keys # # bad # {:a => 1, :b => 2} # {c: 2, ‘d’ => 3} # should just use hash rockets # # # good # {a: 1, b: 2} # {:c => 3, ‘d’ => 4} # @example EnforcedShorthandSyntax: always (default) # # # bad # {foo: foo, bar: bar} # # # good # {foo:, bar:} # @example EnforcedShorthandSyntax: never # # # bad # {foo:, bar:} # # # good # {foo: foo, bar: bar} # @example EnforcedShorthandSyntax: either # # # good # {foo: foo, bar: bar} # # # good # {foo: foo, bar:} # # # good # {foo:, bar:} # @example EnforcedShorthandSyntax: consistent # # # bad - ‘foo` and `bar` values can be omitted # {foo: foo, bar: bar} # # # bad - `bar` value can be omitted # {foo:, bar: bar} # # # bad - mixed syntaxes # {foo:, bar: baz} # # # good # {foo:, bar:} # # # good - can’t omit ‘baz` # {foo: foo, bar: baz} # # source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#113 class RuboCop::Cop::Style::HashSyntax < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::HashShorthandSyntax
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#167
def alternative_style; end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#145
def hash_rockets_check(pairs); end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#159
def no_mixed_keys_check(pairs); end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#123
def on_hash(node); end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#141
def ruby19_check(pairs); end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#149
def ruby19_no_mixed_keys_check(pairs); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#199
def acceptable_19_syntax_symbol?(sym_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#256
def argument_without_space?(node); end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#178
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#260
def autocorrect_hash_rockets(corrector, pair_node); end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#269
def autocorrect_no_mixed_keys(corrector, pair_node); end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#235
def autocorrect_ruby19(corrector, pair_node); end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#220
def check(pairs, delim, msg); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#277
def force_hash_rockets?(pairs); end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#248
def range_for_autocorrect_ruby19(pair_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#188
def sym_indices?(pairs); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#192
def word_symbol_pair?(pair); end

end

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#119 RuboCop::Cop::Style::HashSyntax::MSG_19 = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#121 RuboCop::Cop::Style::HashSyntax::MSG_HASH_ROCKETS = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#120 RuboCop::Cop::Style::HashSyntax::MSG_NO_MIXED_KEYS = T.let(T.unsafe(nil), String)

# Looks for uses of ‘_.each_with_object({}) {…}`, # `_.map {…}.to_h`, and `Hash[_.map {…}]` that are actually just # transforming the keys of a hash, and tries to use a simpler & faster # call to `transform_keys` instead. # It should only be enabled on Ruby version 2.5 or newer. # (`transform_keys` was added in Ruby 2.5.) # # @example # # bad # {a: 1, b: 2}.each_with_object({}) { |(k, v), h| h = v } # Hash[{a: 1, b: 2}.collect { |k, v| [foo(k), v] }] # {a: 1, b: 2}.map { |k, v| [k.to_s, v] }.to_h # {a: 1, b: 2}.to_h { |k, v| [k.to_s, v] } # # # good # {a: 1, b: 2}.transform_keys { |k| foo(k) } # {a: 1, b: 2}.transform_keys { |k| k.to_s } # # source://rubocop//lib/rubocop/cop/style/hash_transform_keys.rb#28 class RuboCop::Cop::Style::HashTransformKeys < ::RuboCop::Cop::Base

include ::RuboCop::Cop::HashTransformMethod
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/hash_transform_keys.rb#36
def on_bad_each_with_object(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_transform_keys.rb#48
def on_bad_hash_brackets_map(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_transform_keys.rb#61
def on_bad_map_to_h(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_transform_keys.rb#73
def on_bad_to_h(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/hash_transform_keys.rb#84
def extract_captures(match); end

# source://rubocop//lib/rubocop/cop/style/hash_transform_keys.rb#89
def new_method_name; end

end

# Looks for uses of ‘_.each_with_object({}) {…}`, # `_.map {…}.to_h`, and `Hash[_.map {…}]` that are actually just # transforming the values of a hash, and tries to use a simpler & faster # call to `transform_values` instead. # # @example # # bad # {a: 1, b: 2}.each_with_object({}) { |(k, v), h| h = foo(v) } # Hash[{a: 1, b: 2}.collect { |k, v| [k, foo(v)] }] # {a: 1, b: 2}.map { |k, v| [k, v * v] }.to_h # {a: 1, b: 2}.to_h { |k, v| [k, v * v] } # # # good # {a: 1, b: 2}.transform_values { |v| foo(v) } # {a: 1, b: 2}.transform_values { |v| v * v } # # source://rubocop//lib/rubocop/cop/style/hash_transform_values.rb#26 class RuboCop::Cop::Style::HashTransformValues < ::RuboCop::Cop::Base

include ::RuboCop::Cop::HashTransformMethod
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/hash_transform_values.rb#34
def on_bad_each_with_object(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_transform_values.rb#46
def on_bad_hash_brackets_map(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_transform_values.rb#59
def on_bad_map_to_h(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/hash_transform_values.rb#71
def on_bad_to_h(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/hash_transform_values.rb#82
def extract_captures(match); end

# source://rubocop//lib/rubocop/cop/style/hash_transform_values.rb#87
def new_method_name; end

end

# Checks for identical expressions at the beginning or end of # each branch of a conditional expression. Such expressions should normally # be placed outside the conditional expression - before or after it. # # NOTE: The cop is poorly named and some people might think that it actually # checks for duplicated conditional branches. The name will probably be changed # in a future major RuboCop release. # # @example # # bad # if condition # do_x # do_z # else # do_y # do_z # end # # # good # if condition # do_x # else # do_y # end # do_z # # # bad # if condition # do_z # do_x # else # do_z # do_y # end # # # good # do_z # if condition # do_x # else # do_y # end # # # bad # case foo # when 1 # do_x # when 2 # do_x # else # do_x # end # # # good # case foo # when 1 # do_x # do_y # when 2 # # nothing # else # do_x # do_z # end # # # bad # case foo # in 1 # do_x # in 2 # do_x # else # do_x # end # # # good # case foo # in 1 # do_x # do_y # in 2 # # nothing # else # do_x # do_z # end # # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#110 class RuboCop::Cop::Style::IdenticalConditionalBranches < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#123
def on_case(node); end

# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#130
def on_case_match(node); end

# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#116
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#184
def assignable_condition_value(node); end

# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#140
def check_branches(node, branches); end

# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#193
def check_expressions(node, expressions, insert_position); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#173
def duplicated_expressions?(node, expressions); end

# `elsif` branches show up in the if node as nested `else` branches. We
# need to recursively iterate over all `else` branches.
#
# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#233
def expand_elses(branch); end

# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#248
def head(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#217
def last_child_of_parent?(node); end

# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#227
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#223
def single_child_branch?(branch_node); end

# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#244
def tail(node); end

end

# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#114 RuboCop::Cop::Style::IdenticalConditionalBranches::MSG = T.let(T.unsafe(nil), String)

# Corrector to correct conditional assignment in ‘if` statements. # # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#559 class RuboCop::Cop::Style::IfCorrector

extend ::RuboCop::Cop::Style::ConditionalAssignmentHelper
extend ::RuboCop::Cop::Style::ConditionalCorrectorHelper

class << self
  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#564
  def correct(corrector, cop, node); end

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#568
  def move_assignment_inside_condition(corrector, node); end

  private

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#582
  def extract_tail_branches(node); end

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#589
  def move_branch_inside_condition(corrector, branch, condition, assignment, column); end
end

end

# If the ‘else` branch of a conditional consists solely of an `if` node, # it can be combined with the `else` to become an `elsif`. # This helps to keep the nesting level from getting too deep. # # @example # # bad # if condition_a # action_a # else # if condition_b # action_b # else # action_c # end # end # # # good # if condition_a # action_a # elsif condition_b # action_b # else # action_c # end # @example AllowIfModifier: false (default) # # bad # if condition_a # action_a # else # action_b if condition_b # end # # # good # if condition_a # action_a # elsif condition_b # action_b # end # @example AllowIfModifier: true # # good # if condition_a # action_a # else # action_b if condition_b # end # # # good # if condition_a # action_a # elsif condition_b # action_b # end # # source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#61 class RuboCop::Cop::Style::IfInsideElse < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#69
def on_if(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#150
def allow_if_modifier?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#146
def allow_if_modifier_in_else_branch?(else_branch); end

# source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#88
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#117
def correct_to_elsif_from_if_inside_else_form(corrector, node, condition); end

# source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#109
def correct_to_elsif_from_modifier_form(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#135
def find_end_range(node); end

# source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#142
def if_condition_range(node, condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#131
def then?(node); end

end

# source://rubocop//lib/rubocop/cop/style/if_inside_else.rb#66 RuboCop::Cop::Style::IfInsideElse::MSG = T.let(T.unsafe(nil), String)

# Checks for ‘if` and `unless` statements that would fit on one line if # written as modifier `if`/`unless`. The cop also checks for modifier # `if`/`unless` lines that exceed the maximum line length. # # The maximum line length is configured in the `Layout/LineLength` # cop. The tab size is configured in the `IndentationWidth` of the # `Layout/IndentationStyle` cop. # # One-line pattern matching is always allowed. To ensure that there are few cases # where the match variable is not used, and to prevent oversights. The variable `x` # becomes undefined and raises `NameError` when the following example is changed to # the modifier form: # # [source,ruby] # —- # if [42] in [x] # x # `x` is undefined when using modifier form. # end # —- # # NOTE: It is allowed when `defined?` argument has an undefined value, # because using the modifier form causes the following incompatibility: # # [source,ruby] # —- # unless defined?(undefined_foo) # undefined_foo = ’default_value’ # end # undefined_foo # => ‘default_value’ # # undefined_bar = ‘default_value’ unless defined?(undefined_bar) # undefined_bar # => nil # —- # # @example # # bad # if condition # do_stuff(bar) # end # # unless qux.empty? # Foo.do_something # end # # do_something_with_a_long_name(arg) if long_condition_that_prevents_code_fit_on_single_line # # # good # do_stuff(bar) if condition # Foo.do_something unless qux.empty? # # if long_condition_that_prevents_code_fit_on_single_line # do_something_with_a_long_name(arg) # end # # if short_condition # a long comment that makes it too long if it were just a single line # do_something # end # # source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#63 class RuboCop::Cop::Style::IfUnlessModifier < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::StatementModifier
include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::CommentsHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#80
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#171
def allowed_patterns; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#231
def another_statement_on_same_line?(node); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#132
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#285
def comment_on_node_line(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#104
def defined_argument_is_undefined?(if_node, defined_node); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#96
def defined_nodes(condition); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#272
def extract_heredoc_from(last_argument); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#215
def line_length_enabled_at_line?(line); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#124
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#219
def named_capture_in_condition?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#223
def non_eligible_node?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#227
def non_simple_if_unless?(node); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#114
def pattern_matching_nodes(condition); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#289
def remove_comment(corrector, _node, comment); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#279
def remove_heredoc(corrector, heredoc); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#141
def replacement_for_modifier_form(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#265
def to_modifier_form_with_move_comment(node, indentation, comment); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#245
def to_normal_form(node, indentation); end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#253
def to_normal_form_with_heredoc(node, indentation, heredoc); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#165
def too_long_due_to_comment_after_modifier?(node, comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#160
def too_long_due_to_modifier?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#206
def too_long_line_based_on_allow_uri?(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#189
def too_long_line_based_on_config?(range, line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#198
def too_long_line_based_on_ignore_cop_directives?(range, line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#176
def too_long_single_line?(node); end

class << self
  # source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#76
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#71 RuboCop::Cop::Style::IfUnlessModifier::MSG_USE_MODIFIER = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier.rb#74 RuboCop::Cop::Style::IfUnlessModifier::MSG_USE_NORMAL = T.let(T.unsafe(nil), String)

# Checks for if and unless statements used as modifiers of other if or # unless statements. # # @example # # # bad # tired? ? ‘stop’ : ‘go faster’ if running? # # # bad # if tired? # “please stop” # else # “keep going” # end if running? # # # good # if running? # tired? ? ‘stop’ : ‘go faster’ # end # # source://rubocop//lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb#25 class RuboCop::Cop::Style::IfUnlessModifierOfIfUnless < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::StatementModifier
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb#31
def on_if(node); end

end

# source://rubocop//lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb#29 RuboCop::Cop::Style::IfUnlessModifierOfIfUnless::MSG = T.let(T.unsafe(nil), String)

# Checks for redundant ‘if` with boolean literal branches. # It checks only conditions to return boolean value (`true` or `false`) for safe detection. # The conditions to be checked are comparison methods, predicate methods, and # double negation (!!). # `nonzero?` method is allowed by default. # These are customizable with `AllowedMethods` option. # # This cop targets only `if`s with a single `elsif` or `else` branch. The following # code will be allowed, because it has two `elsif` branches: # # [source,ruby] # —- # if foo # true # elsif bar > baz # true # elsif qux > quux # Single `elsif` is warned, but two or more `elsif`s are not. # true # else # false # end # —- # # @example # # bad # if foo == bar # true # else # false # end # # # bad # foo == bar ? true : false # # # good # foo == bar # @example # # bad # if foo.do_something? # true # else # false # end # # # good (but potentially an unsafe correction) # foo.do_something? # @example AllowedMethods: [’nonzero?‘] (default) # # good # num.nonzero? ? true : false # # source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#62 class RuboCop::Cop::Style::IfWithBooleanLiteralBranches < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#74
def double_negative?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#70
def if_with_boolean_literal_branches?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#76
def on_if(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#134
def assume_boolean_value?(condition); end

# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#114
def message(node, keyword); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#96
def multiple_elsif?(node); end

# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#102
def offense_range_with_keyword(node, condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#151
def opposite_condition?(node); end

# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#141
def replacement_condition(node, condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#156
def require_parentheses?(condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#120
def return_boolean_value?(condition); end

end

# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#66 RuboCop::Cop::Style::IfWithBooleanLiteralBranches::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/if_with_boolean_literal_branches.rb#67 RuboCop::Cop::Style::IfWithBooleanLiteralBranches::MSG_FOR_ELSIF = T.let(T.unsafe(nil), String)

# Checks for uses of semicolon in if statements. # # @example # # # bad # result = if some_condition; something else another_thing end # # # good # result = some_condition ? something : another_thing # # source://rubocop//lib/rubocop/cop/style/if_with_semicolon.rb#16 class RuboCop::Cop::Style::IfWithSemicolon < ::RuboCop::Cop::Base

include ::RuboCop::Cop::OnNormalIfUnless
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/if_with_semicolon.rb#23
def on_normal_if_unless(node); end

private

# source://rubocop//lib/rubocop/cop/style/if_with_semicolon.rb#38
def autocorrect(node); end

# source://rubocop//lib/rubocop/cop/style/if_with_semicolon.rb#56
def build_else_branch(second_condition); end

# source://rubocop//lib/rubocop/cop/style/if_with_semicolon.rb#47
def correct_elsif(node); end

end

# source://rubocop//lib/rubocop/cop/style/if_with_semicolon.rb#20 RuboCop::Cop::Style::IfWithSemicolon::MSG_IF_ELSE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/if_with_semicolon.rb#21 RuboCop::Cop::Style::IfWithSemicolon::MSG_TERNARY = T.let(T.unsafe(nil), String)

# Checks for ‘raise` or `fail` statements which do not specify an # explicit exception class. (This raises a `RuntimeError`. Some projects # might prefer to use exception classes which more precisely identify the # nature of the error.) # # @example # # bad # raise ’Error message here’ # # # good # raise ArgumentError, ‘Error message here’ # # source://rubocop//lib/rubocop/cop/style/implicit_runtime_error.rb#17 class RuboCop::Cop::Style::ImplicitRuntimeError < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/implicit_runtime_error.rb#23
def implicit_runtime_error_raise_or_fail(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/implicit_runtime_error.rb#26
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/implicit_runtime_error.rb#18 RuboCop::Cop::Style::ImplicitRuntimeError::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/implicit_runtime_error.rb#20 RuboCop::Cop::Style::ImplicitRuntimeError::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for ‘in;` uses in `case` expressions. # # @example # # bad # case expression # in pattern_a; foo # in pattern_b; bar # end # # # good # case expression # in pattern_a then foo # in pattern_b then bar # end # # source://rubocop//lib/rubocop/cop/style/in_pattern_then.rb#21 class RuboCop::Cop::Style::InPatternThen < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/in_pattern_then.rb#29
def on_in_pattern(node); end

private

# source://rubocop//lib/rubocop/cop/style/in_pattern_then.rb#46
def alternative_pattern_source(pattern); end

end

# source://rubocop//lib/rubocop/cop/style/in_pattern_then.rb#27 RuboCop::Cop::Style::InPatternThen::MSG = T.let(T.unsafe(nil), String)

# Use ‘Kernel#loop` for infinite loops. # # @example # # bad # while true # work # end # # # good # loop do # work # end # # source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#23 class RuboCop::Cop::Style::InfiniteLoop < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#35
def after_leaving_scope(scope, _variable_table); end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#44
def on_until(node); end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#44
def on_until_post(node); end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#40
def on_while(node); end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#40
def on_while_post(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#84
def assigned_before_loop?(var, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#80
def assigned_inside_loop?(var, range); end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#70
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#103
def modifier_replacement(node); end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#114
def non_modifier_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#89
def referenced_after_loop?(var, range); end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#94
def replace_begin_end_with_modifier(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#99
def replace_source(corrector, range, replacement); end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#53
def while_or_until(node); end

class << self
  # source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#31
  def joining_forces; end
end

end

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#27 RuboCop::Cop::Style::InfiniteLoop::LEADING_SPACE = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/infinite_loop.rb#29 RuboCop::Cop::Style::InfiniteLoop::MSG = T.let(T.unsafe(nil), String)

# Checks for trailing inline comments. # # @example # # # good # foo.each do |f| # # Standalone comment # f.bar # end # # # bad # foo.each do |f| # f.bar # Trailing inline comment # end # # source://rubocop//lib/rubocop/cop/style/inline_comment.rb#20 class RuboCop::Cop::Style::InlineComment < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/inline_comment.rb#23
def on_new_investigation; end

end

# source://rubocop//lib/rubocop/cop/style/inline_comment.rb#21 RuboCop::Cop::Style::InlineComment::MSG = T.let(T.unsafe(nil), String)

# Check for usages of not (‘not` or `!`) called on a method # when an inverse of that method can be used instead. # # Methods that can be inverted by a not (`not` or `!`) should be defined # in `InverseMethods`. # # Methods that are inverted by inverting the return # of the block that is passed to the method should be defined in # `InverseBlocks`. # # @example # # bad # !foo.none? # !foo.any? { |f| f.even? } # !foo.blank? # !(foo == bar) # foo.select { |f| !f.even? } # foo.reject { |f| f != 7 } # # # good # foo.none? # foo.blank? # foo.any? { |f| f.even? } # foo != bar # foo == bar # !!(’foo’ =~ /^w+$/) # !(foo.class < Numeric) # Checking class hierarchy is allowed # # Blocks with guard clauses are ignored: # foo.select do |f| # next if f.zero? # f != 1 # end # # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#43 class RuboCop::Cop::Style::InverseMethods < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#70
def inverse_block?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#61
def inverse_candidate?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#92
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#78
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#92
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#78
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#177
def camel_case_constant?(node); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#121
def correct_inverse_block(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#112
def correct_inverse_method(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#128
def correct_inverse_selector(block, corrector); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#181
def dot_range(loc); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#166
def end_parentheses(node, method_call); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#150
def inverse_blocks; end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#145
def inverse_methods; end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#191
def message(method, inverse); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#154
def negated?(node); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#162
def not_to_receiver(node, method_call); end

# When comparing classes, `!(Integer < Numeric)` is not the same as
# `Integer > Numeric`.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#172
def possible_class_hierarchy_check?(lhs, rhs, method); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#158
def relational_comparison_with_safe_navigation?(node); end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#185
def remove_end_parenthesis(corrector, node, method, method_call); end

class << self
  # source://rubocop-rails/2.24.1/lib/rubocop-rails.rb#22
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#52 RuboCop::Cop::Style::InverseMethods::CAMEL_CASE = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#49 RuboCop::Cop::Style::InverseMethods::CLASS_COMPARISON_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#50 RuboCop::Cop::Style::InverseMethods::EQUALITY_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#48 RuboCop::Cop::Style::InverseMethods::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#51 RuboCop::Cop::Style::InverseMethods::NEGATED_EQUALITY_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#54 RuboCop::Cop::Style::InverseMethods::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for usages of ‘unless` which can be replaced by `if` with inverted condition. # Code without `unless` is easier to read, but that is subjective, so this cop # is disabled by default. # # Methods that can be inverted should be defined in `InverseMethods`. Note that # the relationship of inverse methods needs to be defined in both directions. # For example, # # [source,yaml] # —- # InverseMethods: # :!=: :== # :even?: :odd? # :odd?: :even? # —- # # will suggest both `even?` and `odd?` to be inverted, but only `!=` (and not `==`). # # @example # # bad (simple condition) # foo unless !bar # foo unless x != y # foo unless x >= 10 # foo unless x.even? # foo unless odd? # # # good # foo if bar # foo if x == y # foo if x < 10 # foo if x.odd? # foo if even? # # # bad (complex condition) # foo unless x != y || x.even? # # # good # foo if x == y && x.odd? # # # good (if) # foo if !condition # # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#53 class RuboCop::Cop::Style::InvertibleUnlessCondition < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#58
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#133
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#146
def autocorrect_send_node(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#90
def inheritance_check?(node); end

# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#154
def inverse_methods; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#75
def invertible?(node); end

# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#96
def preferred_condition(node); end

# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#126
def preferred_logical_condition(node); end

# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#104
def preferred_send_condition(node); end

end

# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#56 RuboCop::Cop::Style::InvertibleUnlessCondition::MSG = T.let(T.unsafe(nil), String)

# Checks for hardcoded IP addresses, which can make code # brittle. IP addresses are likely to need to be changed when code # is deployed to a different server or environment, which may break # a deployment if forgotten. Prefer setting IP addresses in ENV or # other configuration. # # @example # # # bad # ip_address = ‘127.59.241.29’ # # # good # ip_address = ENV # # source://rubocop//lib/rubocop/cop/style/ip_addresses.rb#21 class RuboCop::Cop::Style::IpAddresses < ::RuboCop::Cop::Base

include ::RuboCop::Cop::StringHelp

# Dummy implementation of method in ConfigurableEnforcedStyle that is
# called from StringHelp.
#
# source://rubocop//lib/rubocop/cop/style/ip_addresses.rb#46
def correct_style_detected; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ip_addresses.rb#27
def offense?(node); end

# Dummy implementation of method in ConfigurableEnforcedStyle that is
# called from StringHelp.
#
# source://rubocop//lib/rubocop/cop/style/ip_addresses.rb#42
def opposite_style_detected; end

private

# source://rubocop//lib/rubocop/cop/style/ip_addresses.rb#50
def allowed_addresses; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ip_addresses.rb#55
def could_be_ip?(str); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ip_addresses.rb#68
def starts_with_hex_or_colon?(str); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ip_addresses.rb#64
def too_long?(str); end

end

# IPv4-mapped IPv6 is the longest # # source://rubocop//lib/rubocop/cop/style/ip_addresses.rb#24 RuboCop::Cop::Style::IpAddresses::IPV6_MAX_SIZE = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cop/style/ip_addresses.rb#25 RuboCop::Cop::Style::IpAddresses::MSG = T.let(T.unsafe(nil), String)

# Enforces that optional keyword parameters are placed at the # end of the parameters list. # # This improves readability, because when looking through the source, # it is expected to find required parameters at the beginning of parameters list # and optional parameters at the end. # # @example # # bad # def some_method(first: false, second:, third: 10) # # body omitted # end # # # good # def some_method(second:, first: false, third: 10) # # body omitted # end # # # bad # do_something do |first: false, second:, third: 10| # # body omitted # end # # # good # do_something do |second:, first: false, third: 10| # # body omitted # end # # source://rubocop//lib/rubocop/cop/style/keyword_parameters_order.rb#34 class RuboCop::Cop::Style::KeywordParametersOrder < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/keyword_parameters_order.rb#40
def on_kwoptarg(node); end

private

# source://rubocop//lib/rubocop/cop/style/keyword_parameters_order.rb#58
def append_newline_to_last_kwoptarg(arguments, corrector); end

# source://rubocop//lib/rubocop/cop/style/keyword_parameters_order.rb#66
def remove_kwargs(kwarg_nodes, corrector); end

end

# source://rubocop//lib/rubocop/cop/style/keyword_parameters_order.rb#38 RuboCop::Cop::Style::KeywordParametersOrder::MSG = T.let(T.unsafe(nil), String)

# (by default) checks for uses of the lambda literal syntax for # single line lambdas, and the method call syntax for multiline lambdas. # It is configurable to enforce one of the styles for both single line # and multiline lambdas as well. # # @example EnforcedStyle: line_count_dependent (default) # # bad # f = lambda { |x| x } # f = ->(x) do # x # end # # # good # f = ->(x) { x } # f = lambda do |x| # x # end # @example EnforcedStyle: lambda # # bad # f = ->(x) { x } # f = ->(x) do # x # end # # # good # f = lambda { |x| x } # f = lambda do |x| # x # end # @example EnforcedStyle: literal # # bad # f = lambda { |x| x } # f = lambda do |x| # x # end # # # good # f = ->(x) { x } # f = ->(x) do # x # end # # source://rubocop//lib/rubocop/cop/style/lambda.rb#49 class RuboCop::Cop::Style::Lambda < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/lambda.rb#64
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/lambda.rb#64
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/style/lambda.rb#115
def arguments_with_whitespace(node); end

# source://rubocop//lib/rubocop/cop/style/lambda.rb#104
def autocorrect_method_to_literal(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/lambda.rb#119
def lambda_arg_string(args); end

# source://rubocop//lib/rubocop/cop/style/lambda.rb#89
def message(node, selector); end

# source://rubocop//lib/rubocop/cop/style/lambda.rb#95
def message_line_modifier(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/lambda.rb#83
def offending_selector?(node, selector); end

end

# source://rubocop//lib/rubocop/cop/style/lambda.rb#53 RuboCop::Cop::Style::Lambda::LITERAL_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/lambda.rb#54 RuboCop::Cop::Style::Lambda::METHOD_MESSAGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/lambda.rb#56 RuboCop::Cop::Style::Lambda::OFFENDING_SELECTORS = T.let(T.unsafe(nil), Hash)

# Checks for use of the lambda.(args) syntax. # # @example EnforcedStyle: call (default) # # bad # lambda.(x, y) # # # good # lambda.call(x, y) # @example EnforcedStyle: braces # # bad # lambda.call(x, y) # # # good # lambda.(x, y) # # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#21 class RuboCop::Cop::Style::LambdaCall < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#29
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#67
def explicit_style?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#63
def implicit_style?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#51
def offense?(node); end

# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#55
def prefer(node); end

end

# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#26 RuboCop::Cop::Style::LambdaCall::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#27 RuboCop::Cop::Style::LambdaCall::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for string literal concatenation at # the end of a line. # # @example # # # bad # some_str = ‘ala’ + # ‘bala’ # # some_str = ‘ala’ << # ‘bala’ # # # good # some_str = ‘ala’ \ # ‘bala’ # # source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#35 class RuboCop::Cop::Style::LineEndConcatenation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#51
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#74
def autocorrect(corrector, operator_range); end

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#57
def check_token_set(index); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#101
def eligible_next_successor?(next_successor); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#97
def eligible_operator?(operator); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#105
def eligible_predecessor?(predecessor); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#93
def eligible_successor?(successor); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#87
def eligible_token_set?(predecessor, operator, successor); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#124
def standard_string_literal?(token); end

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#109
def token_after_last_string(successor, base_index); end

class << self
  # source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#47
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#42 RuboCop::Cop::Style::LineEndConcatenation::COMPLEX_STRING_BEGIN_TOKEN = T.let(T.unsafe(nil), Symbol)

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#43 RuboCop::Cop::Style::LineEndConcatenation::COMPLEX_STRING_END_TOKEN = T.let(T.unsafe(nil), Symbol)

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#40 RuboCop::Cop::Style::LineEndConcatenation::CONCAT_TOKEN_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#44 RuboCop::Cop::Style::LineEndConcatenation::HIGH_PRECEDENCE_OP_TOKEN_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#39 RuboCop::Cop::Style::LineEndConcatenation::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#45 RuboCop::Cop::Style::LineEndConcatenation::QUOTE_DELIMITERS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/line_end_concatenation.rb#41 RuboCop::Cop::Style::LineEndConcatenation::SIMPLE_STRING_TOKEN_TYPE = T.let(T.unsafe(nil), Symbol)

# Ensures magic comments are written consistently throughout your code base. # Looks for discrepancies in separators (‘-` vs `_`) and capitalization for # both magic comment directives and values. # # Required capitalization can be set with the `DirectiveCapitalization` and # `ValueCapitalization` configuration keys. # # NOTE: If one of these configuration is set to nil, any capitalization is allowed. # # @example EnforcedStyle: snake_case (default) # # The `snake_case` style will enforce that the frozen string literal # # comment is written in snake case. (Words separated by underscores) # # bad # # frozen-string-literal: true # # module Bar # # … # end # # # good # # frozen_string_literal: false # # module Bar # # … # end # @example EnforcedStyle: kebab_case # # The `kebab_case` style will enforce that the frozen string literal # # comment is written in kebab case. (Words separated by hyphens) # # bad # # frozen_string_literal: true # # module Baz # # … # end # # # good # # frozen-string-literal: true # # module Baz # # … # end # @example DirectiveCapitalization: lowercase (default) # # bad # # FROZEN-STRING-LITERAL: true # # # good # # frozen-string-literal: true # @example DirectiveCapitalization: uppercase # # bad # # frozen-string-literal: true # # # good # # FROZEN-STRING-LITERAL: true # @example DirectiveCapitalization: nil # # any capitalization is accepted # # # good # # frozen-string-literal: true # # # good # # FROZEN-STRING-LITERAL: true # @example ValueCapitalization: nil (default) # # any capitalization is accepted # # # good # # frozen-string-literal: true # # # good # # frozen-string-literal: TRUE # @example ValueCapitalization: lowercase # # when a value is not given, any capitalization is accepted # # # bad # # frozen-string-literal: TRUE # # # good # # frozen-string-literal: TRUE # @example ValueCapitalization: uppercase # # bad # # frozen-string-literal: true # # # good # # frozen-string-literal: TRUE # # source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#97 class RuboCop::Cop::Style::MagicCommentFormat < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#156
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#241
def correct_separator; end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#279
def directive_capitalization; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#197
def directive_offends?(directive); end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#233
def expected_style; end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#183
def find_issues(comment); end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#207
def fix_directives(issues); end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#221
def fix_values(issues); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#245
def incorrect_separator?(text); end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#173
def leading_comment_lines; end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#275
def line_range(line); end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#167
def magic_comments; end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#202
def register_offenses(issues); end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#264
def replace_capitalization(text, style); end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#260
def replace_separator(text); end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#301
def supported_capitalizations; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#295
def valid_capitalization?(style); end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#287
def value_capitalization; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#249
def wrong_capitalization?(text, expected_case); end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#237
def wrong_separator; end

end

# Value object to extract source ranges for the different parts of a magic comment # # source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#107 class RuboCop::Cop::Style::MagicCommentFormat::CommentRange

extend ::Forwardable

# @return [CommentRange] a new instance of CommentRange
#
# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#119
def initialize(comment); end

# Returns the value of attribute comment.
#
# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#117
def comment; end

# A magic comment can contain one directive (normal style) or
# multiple directives (emacs style)
#
# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#125
def directives; end

# source://forwardable/1.3.3/forwardable.rb#231
def loc(*args, **_arg1, &block); end

# source://forwardable/1.3.3/forwardable.rb#231
def text(*args, **_arg1, &block); end

# A magic comment can contain one value (normal style) or
# multiple directives (emacs style)
#
# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#141
def values; end

end

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#110 RuboCop::Cop::Style::MagicCommentFormat::CommentRange::DIRECTIVE_REGEXP = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#114 RuboCop::Cop::Style::MagicCommentFormat::CommentRange::VALUE_REGEXP = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#102 RuboCop::Cop::Style::MagicCommentFormat::KEBAB_SEPARATOR = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#103 RuboCop::Cop::Style::MagicCommentFormat::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#104 RuboCop::Cop::Style::MagicCommentFormat::MSG_VALUE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#101 RuboCop::Cop::Style::MagicCommentFormat::SNAKE_SEPARATOR = T.let(T.unsafe(nil), String)

# Prefer ‘select` or `reject` over `map { … }.compact`. # # @example # # # bad # array.map { |e| some_condition? ? e : next }.compact # # # bad # array.map do |e| # if some_condition? # e # else # next # end # end.compact # # # bad # array.map do |e| # next if some_condition? # # e # end.compact # # # bad # array.map do |e| # e if some_condition? # end.compact # # # good # array.select { |e| some_condition? } # # # good # array.reject { |e| some_condition? } # # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#40 class RuboCop::Cop::Style::MapCompactWithConditionalBlock < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#46
def map_and_compact?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#72
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#72
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#126
def range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#92
def returns_block_argument?(block_argument_node, return_value_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#96
def truthy_branch?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#116
def truthy_branch_for_guard?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#106
def truthy_branch_for_if?(node); end

end

# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#43 RuboCop::Cop::Style::MapCompactWithConditionalBlock::MSG = T.let(T.unsafe(nil), String)

# Checks for usages of ‘each` with `<<`, `push`, or `append` which # can be replaced by `map`. # # If `PreferredMethods` is configured for `map` in `Style/CollectionMethods`, # this cop uses the specified method for replacement. # # NOTE: The return value of `Enumerable#each` is `self`, whereas the # return value of `Enumerable#map` is an `Array`. They are not autocorrected # when a return value could be used because these types differ. # # NOTE: It only detects when the mapping destination is a local variable # initialized as an empty array and referred to only by the pushing operation. # This is because, if not, it’s challenging to statically guarantee that the # mapping destination variable remains an empty array: # # [source,ruby] # —- # src.each { |e| @dest << e * 2 } # ‘src` method may mutate `@dest` # # dest = [] # src.each { |e| dest << transform(e, dest) } # `transform` method may mutate `dest` # —- # # @example # # bad # dest = [] # src.each { |e| dest << e * 2 } # dest # # # good # dest = src.map { |e| e * 2 } # # # good - contains another operation # dest = [] # src.each { |e| dest << e * 2; puts e } # dest # # source://rubocop//lib/rubocop/cop/style/map_into_array.rb#50 class RuboCop::Cop::Style::MapIntoArray < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#75
def after_leaving_scope(scope, _variable_table); end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#57
def each_block_with_push?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#66
def empty_array_asgn?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#69
def lvar_ref?(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#79
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#79
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#155
def correct_push_node(corrector, push_node); end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#163
def correct_return_value_handling(corrector, block, dest_var); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#108
def dest_used_only_for_mapping?(block, dest_var, asgn); end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#102
def find_closest_assignment(block, dest_var); end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#94
def find_dest_var(block); end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#127
def new_method_name; end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#116
def register_offense(block, dest_var, asgn); end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#148
def remove_assignment(corrector, asgn); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#133
def return_value_used?(node); end

class << self
  # source://rubocop//lib/rubocop/cop/style/map_into_array.rb#71
  def joining_forces; end
end

end

# source://rubocop//lib/rubocop/cop/style/map_into_array.rb#54 RuboCop::Cop::Style::MapIntoArray::MSG = T.let(T.unsafe(nil), String)

# Looks for uses of ‘map.to_h` or `collect.to_h` that could be # written with just `to_h` in Ruby >= 2.6. # # NOTE: `Style/HashTransformKeys` and `Style/HashTransformValues` will # also change this pattern if only hash keys or hash values are being # transformed. # # @example # # bad # something.map { |v| [v, v * 2] }.to_h # # # good # something.to_h { |v| [v, v * 2] } # # # bad # {foo: bar}.collect { |k, v| [k.to_s, v.do_something] }.to_h # # # good # {foo: bar}.to_h { |k, v| [k.to_s, v.do_something] } # # source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#30 class RuboCop::Cop::Style::MapToHash < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#41
def map_to_h(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#52
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#52
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#68
def autocorrect(corrector, to_h, map); end

class << self
  # source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#48
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#37 RuboCop::Cop::Style::MapToHash::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#38 RuboCop::Cop::Style::MapToHash::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Looks for uses of ‘map.to_set` or `collect.to_set` that could be # written with just `to_set`. # # @example # # bad # something.map { |i| i * 2 }.to_set # # # good # something.to_set { |i| i * 2 } # # # bad # [1, 2, 3].collect { |i| i.to_s }.to_set # # # good # [1, 2, 3].to_set { |i| i.to_s } # # source://rubocop//lib/rubocop/cop/style/map_to_set.rb#26 class RuboCop::Cop::Style::MapToSet < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/map_to_set.rb#34
def map_to_set?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/map_to_set.rb#41
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/map_to_set.rb#55
def autocorrect(corrector, to_set, map); end

end

# source://rubocop//lib/rubocop/cop/style/map_to_set.rb#30 RuboCop::Cop::Style::MapToSet::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/map_to_set.rb#31 RuboCop::Cop::Style::MapToSet::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Enforces the presence (default) or absence of parentheses in # method calls containing parameters. # # In the default style (require_parentheses), macro methods are allowed. # Additional methods can be added to the ‘AllowedMethods` or # `AllowedPatterns` list. These options are valid only in the default # style. Macros can be included by either setting `IgnoreMacros` to false # or adding specific macros to the `IncludedMacros` list. # # Precedence of options is as follows: # # 1. `AllowedMethods` # 2. `AllowedPatterns` # 3. `IncludedMacros` # # If a method is listed in both `IncludedMacros` and `AllowedMethods`, # then the latter takes precedence (that is, the method is allowed). # # In the alternative style (omit_parentheses), there are three additional # options. # # 1. `AllowParenthesesInChaining` is `false` by default. Setting it to # `true` allows the presence of parentheses in the last call during # method chaining. # # 2. `AllowParenthesesInMultilineCall` is `false` by default. Setting it # to `true` allows the presence of parentheses in multi-line method # calls. # # 3. `AllowParenthesesInCamelCaseMethod` is `false` by default. This # allows the presence of parentheses when calling a method whose name # begins with a capital letter and which has no arguments. Setting it # to `true` allows the presence of parentheses in such a method call # even with arguments. # # NOTE: The style of `omit_parentheses` allows parentheses in cases where # omitting them results in ambiguous or syntactically incorrect code. # # Non-exhaustive list of examples: # # - Parentheses are required allowed in method calls with arguments inside # literals, logical operators, setting default values in position and # keyword arguments, chaining and more. # - Parentheses are allowed in method calls with arguments inside # operators to avoid ambiguity. # triple-dot syntax introduced in Ruby 2.7 as omitting them starts an # endless range. # - Parentheses are allowed when forwarding arguments with the # triple-dot syntax introduced in Ruby 2.7 as omitting them starts an # endless range. # - Parentheses are required in calls with arguments when inside an # endless method definition introduced in Ruby 3.0. # - Ruby 3.1’s hash omission syntax allows parentheses if the method call # is in conditionals and requires parentheses if the call # is not the value-returning expression. See # bugs.ruby-lang.org/issues/18396. # - Parentheses are required in anonymous arguments, keyword arguments # and block passing in Ruby 3.2. # # @example EnforcedStyle: require_parentheses (default) # # # bad # array.delete e # # # good # array.delete(e) # # # good # # Operators don’t need parens # foo == bar # # # good # # Setter methods don’t need parens # foo.bar = baz # # # okay with ‘puts` listed in `AllowedMethods` # puts ’test’ # # # okay with ‘^assert` listed in `AllowedPatterns` # assert_equal ’test’, x # @example EnforcedStyle: omit_parentheses # # # bad # array.delete(e) # # # good # array.delete e # # # bad # action.enforce(strict: true) # # # good # action.enforce strict: true # # # good # # Parentheses are allowed for code that can be ambiguous without # # them. # action.enforce(condition) || other_condition # # # good # # Parentheses are allowed for calls that won’t produce valid Ruby # # without them. # yield path, File.basename(path) # # # good # # Omitting the parentheses in Ruby 3.1 hash omission syntax can lead # # to ambiguous code. We allow them in conditionals and non-last # # expressions. See bugs.ruby-lang.org/issues/18396 # if meets(criteria:, action:) # safe_action(action) || dangerous_action(action) # end # @example IgnoreMacros: true (default) # # # good # class Foo # bar :baz # end # @example IgnoreMacros: false # # # bad # class Foo # bar :baz # end # @example AllowParenthesesInMultilineCall: false (default) # # # bad # foo.enforce( # strict: true # ) # # # good # foo.enforce \ # strict: true # @example AllowParenthesesInMultilineCall: true # # # good # foo.enforce( # strict: true # ) # # # good # foo.enforce \ # strict: true # @example AllowParenthesesInChaining: false (default) # # # bad # foo().bar(1) # # # good # foo().bar 1 # @example AllowParenthesesInChaining: true # # # good # foo().bar(1) # # # good # foo().bar 1 # @example AllowParenthesesInCamelCaseMethod: false (default) # # # bad # Array(1) # # # good # Array 1 # @example AllowParenthesesInCamelCaseMethod: true # # # good # Array(1) # # # good # Array 1 # @example AllowParenthesesInStringInterpolation: false (default) # # # bad # “#{t(‘this.is.bad’)}” # # # good # “#{t ‘this.is.better’}” # @example AllowParenthesesInStringInterpolation: true # # # good # “#{t(‘this.is.good’)}” # # # good # “#{t ‘this.is.also.good’}” # # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#202 class RuboCop::Cop::Style::MethodCallWithArgsParentheses < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
include ::RuboCop::Cop::Style::MethodCallWithArgsParentheses::RequireParentheses
include ::RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#217
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#217
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#217
def on_yield(node); end

private

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#225
def args_begin(node); end

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#233
def args_end(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#237
def args_parenthesized?(node); end

class << self
  # source://rubocop-rails/2.24.1/lib/rubocop-rails.rb#30
  def autocorrect_incompatible_with; end
end

end

# Style omit_parentheses # # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#9 module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#70
def allowed_camel_case_method_call?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#174
def allowed_chained_call_with_parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#170
def allowed_multiline_call_with_parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#75
def allowed_string_interpolation_method_call?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#183
def ambiguous_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#212
def assigned_before?(node, target); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#220
def assignment_in_condition?(node); end

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#31
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#151
def call_as_argument_or_chain?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#144
def call_in_argument_with_block?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#100
def call_in_literals?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#111
def call_in_logical_operators?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#157
def call_in_match_pattern?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#120
def call_in_optional_arguments?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#124
def call_in_single_line_inheritance?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#128
def call_with_ambiguous_arguments?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#140
def call_with_braced_block?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#230
def forwards_anonymous_rest_arguments?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#199
def hash_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#163
def hash_literal_in_arguments?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#44
def inside_endless_method_def?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#216
def inside_string_interpolation?(node); end

# Require hash value omission be enclosed in parentheses to prevent the following issue:
# https://bugs.ruby-lang.org/issues/18396.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#58
def last_expression?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#87
def legitimate_call_with_parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#195
def logical_operator?(node); end

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#40
def offense_range(node); end

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#16
def omit_parentheses(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#80
def parentheses_at_the_end_of_multiline_call?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#203
def regexp_slash_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#49
def require_parentheses_for_hash_value_omission?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#187
def splat?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#66
def super_call_without_arguments?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#62
def syntax_like_method_call?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#191
def ternary_if?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#207
def unary_literal?(node); end

end

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#11 RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses::OMIT_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#10 RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses::TRAILING_WHITESPACE_REGEX = T.let(T.unsafe(nil), Regexp)

# Style require_parentheses # # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb#8 module RuboCop::Cop::Style::MethodCallWithArgsParentheses::RequireParentheses

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb#27
def allowed_method_name?(name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb#31
def eligible_for_parentheses_omission?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb#39
def ignored_macro?(node); end

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb#35
def included_macros_list; end

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb#14
def require_parentheses(node); end

end

# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb#9 RuboCop::Cop::Style::MethodCallWithArgsParentheses::RequireParentheses::REQUIRE_MSG = T.let(T.unsafe(nil), String)

# Checks for unwanted parentheses in parameterless method calls. # # This cop can be customized allowed methods with ‘AllowedMethods`. # By default, there are no methods to allowed. # # NOTE: This cop allows the use of `it()` without arguments in blocks, # as in `0.times { it() }`, following `Lint/ItWithoutArgumentsInBlock` cop. # # @example # # bad # object.some_method() # # # good # object.some_method # @example AllowedMethods: [] (default) # # bad # object.foo() # @example AllowedMethods: [foo] # # good # object.foo() # # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#29 class RuboCop::Cop::Style::MethodCallWithoutArgsParentheses < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#37
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#66
def allowed_method_name?(name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#94
def any_assignment?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#62
def default_argument?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#58
def ineligible_node?(node); end

# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#117
def offense_range(node); end

# Respects `Lint/ItWithoutArgumentsInBlock` cop and the following Ruby 3.3's warning:
#
# $ ruby -e '0.times { begin; it; end }'
# -e:1: warning: `it` calls without arguments will refer to the first block param in
# Ruby 3.4; use it() or self.it
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#86
def parenthesized_it_method_in_block?(node); end

# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#51
def register_offense(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#70
def same_name_assignment?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#110
def variable_in_mass_assignment?(variable_name, node); end

end

# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#34 RuboCop::Cop::Style::MethodCallWithoutArgsParentheses::MSG = T.let(T.unsafe(nil), String)

# Checks for methods called on a do…end block. The point of # this check is that it’s easy to miss the call tacked on to the block # when reading code. # # @example # # bad # a do # b # end.c # # # good # a { b }.c # # # good # foo = a do # b # end # foo.c # # source://rubocop//lib/rubocop/cop/style/method_called_on_do_end_block.rb#24 class RuboCop::Cop::Style::MethodCalledOnDoEndBlock < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/style/method_called_on_do_end_block.rb#29
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/method_called_on_do_end_block.rb#40
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/method_called_on_do_end_block.rb#29
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/method_called_on_do_end_block.rb#40
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/method_called_on_do_end_block.rb#27 RuboCop::Cop::Style::MethodCalledOnDoEndBlock::MSG = T.let(T.unsafe(nil), String)

# Checks for parentheses around the arguments in method # definitions. Both instance and class/singleton methods are checked. # # Regardless of style, parentheses are necessary for: # # 1. Endless methods # 2. Argument lists containing a ‘forward-arg` (`…`) # 3. Argument lists containing an anonymous rest arguments forwarding (`*`) # 4. Argument lists containing an anonymous keyword rest arguments forwarding (`**`) # 5. Argument lists containing an anonymous block forwarding (`&`) # # Removing the parens would be a syntax error here. # # @example EnforcedStyle: require_parentheses (default) # # The `require_parentheses` style requires method definitions # # to always use parentheses # # # bad # def bar num1, num2 # num1 + num2 # end # # def foo descriptive_var_name, # another_descriptive_var_name, # last_descriptive_var_name # do_something # end # # # good # def bar(num1, num2) # num1 + num2 # end # # def foo(descriptive_var_name, # another_descriptive_var_name, # last_descriptive_var_name) # do_something # end # @example EnforcedStyle: require_no_parentheses # # The `require_no_parentheses` style requires method definitions # # to never use parentheses # # # bad # def bar(num1, num2) # num1 + num2 # end # # def foo(descriptive_var_name, # another_descriptive_var_name, # last_descriptive_var_name) # do_something # end # # # good # def bar num1, num2 # num1 + num2 # end # # def foo descriptive_var_name, # another_descriptive_var_name, # last_descriptive_var_name # do_something # end # @example EnforcedStyle: require_no_parentheses_except_multiline # # The `require_no_parentheses_except_multiline` style prefers no # # parentheses when method definition arguments fit on single line, # # but prefers parentheses when arguments span multiple lines. # # # bad # def bar(num1, num2) # num1 + num2 # end # # def foo descriptive_var_name, # another_descriptive_var_name, # last_descriptive_var_name # do_something # end # # # good # def bar num1, num2 # num1 + num2 # end # # def foo(descriptive_var_name, # another_descriptive_var_name, # last_descriptive_var_name) # do_something # end # # source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#97 class RuboCop::Cop::Style::MethodDefParentheses < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#105
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#105
def on_defs(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#169
def anonymous_arguments?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#147
def arguments_without_parentheses?(node); end

# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#126
def correct_arguments(arg_node, corrector); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#131
def forced_parentheses?(node); end

# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#151
def missing_parentheses(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#142
def require_parentheses?(args); end

# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#161
def unwanted_parentheses(args); end

end

# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#103 RuboCop::Cop::Style::MethodDefParentheses::MSG_MISSING = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/method_def_parentheses.rb#102 RuboCop::Cop::Style::MethodDefParentheses::MSG_PRESENT = T.let(T.unsafe(nil), String)

# Checks for potential uses of ‘Enumerable#minmax`. # # @example # # # bad # bar = [foo.min, foo.max] # return foo.min, foo.max # # # good # bar = foo.minmax # return foo.minmax # # source://rubocop//lib/rubocop/cop/style/min_max.rb#17 class RuboCop::Cop::Style::MinMax < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/min_max.rb#38
def min_max_candidate(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/min_max.rb#22
def on_array(node); end

# source://rubocop//lib/rubocop/cop/style/min_max.rb#22
def on_return(node); end

private

# source://rubocop//lib/rubocop/cop/style/min_max.rb#55
def argument_range(node); end

# source://rubocop//lib/rubocop/cop/style/min_max.rb#42
def message(offender, receiver); end

# source://rubocop//lib/rubocop/cop/style/min_max.rb#46
def offending_range(node); end

end

# source://rubocop//lib/rubocop/cop/style/min_max.rb#20 RuboCop::Cop::Style::MinMax::MSG = T.let(T.unsafe(nil), String)

# Enforces the use of ‘max` or `min` instead of comparison for greater or less. # # NOTE: It can be used if you want to present limit or threshold in Ruby 2.7+. # That it is slow though. So autocorrection will apply generic `max` or `min`: # # [source,ruby] # —- # a.clamp(b..) # Same as `[a, b].max` # a.clamp(..b) # Same as `[a, b].min` # —- # # @example # # # bad # a > b ? a : b # a >= b ? a : b # # # good # [a, b].max # # # bad # a < b ? a : b # a <= b ? a : b # # # good # [a, b].min # # source://rubocop//lib/rubocop/cop/style/min_max_comparison.rb#37 class RuboCop::Cop::Style::MinMaxComparison < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/min_max_comparison.rb#46
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/style/min_max_comparison.rb#72
def autocorrect(corrector, node, replacement); end

# source://rubocop//lib/rubocop/cop/style/min_max_comparison.rb#64
def preferred_method(operator, lhs, rhs, if_branch, else_branch); end

end

# source://rubocop//lib/rubocop/cop/style/min_max_comparison.rb#44 RuboCop::Cop::Style::MinMaxComparison::COMPARISON_OPERATORS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/min_max_comparison.rb#42 RuboCop::Cop::Style::MinMaxComparison::GRATER_OPERATORS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/min_max_comparison.rb#43 RuboCop::Cop::Style::MinMaxComparison::LESS_OPERATORS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/min_max_comparison.rb#41 RuboCop::Cop::Style::MinMaxComparison::MSG = T.let(T.unsafe(nil), String)

# Checks for ‘if` expressions that do not have an `else` branch. # # NOTE: Pattern matching is allowed to have no `else` branch because unlike `if` and `case`, # it raises `NoMatchingPatternError` if the pattern doesn’t match and without having ‘else`. # # Supported styles are: if, case, both. # # @example EnforcedStyle: both (default) # # warn when an `if` or `case` expression is missing an `else` branch. # # # bad # if condition # statement # end # # # bad # case var # when condition # statement # end # # # good # if condition # statement # else # # the content of `else` branch will be determined by Style/EmptyElse # end # # # good # case var # when condition # statement # else # # the content of `else` branch will be determined by Style/EmptyElse # end # @example EnforcedStyle: if # # warn when an `if` expression is missing an `else` branch. # # # bad # if condition # statement # end # # # good # if condition # statement # else # # the content of `else` branch will be determined by Style/EmptyElse # end # # # good # case var # when condition # statement # end # # # good # case var # when condition # statement # else # # the content of `else` branch will be determined by Style/EmptyElse # end # @example EnforcedStyle: case # # warn when a `case` expression is missing an `else` branch. # # # bad # case var # when condition # statement # end # # # good # case var # when condition # statement # else # # the content of `else` branch will be determined by Style/EmptyElse # end # # # good # if condition # statement # end # # # good # if condition # statement # else # # the content of `else` branch will be determined by Style/EmptyElse # end # # source://rubocop//lib/rubocop/cop/style/missing_else.rb#99 class RuboCop::Cop::Style::MissingElse < ::RuboCop::Cop::Base

include ::RuboCop::Cop::OnNormalIfUnless
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#115
def on_case(node); end

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#121
def on_case_match(node); end

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#108
def on_normal_if_unless(node); end

private

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#146
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/missing_else.rb#159
def case_style?; end

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#127
def check(node); end

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#181
def empty_else_config; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/missing_else.rb#171
def empty_else_cop_enabled?; end

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#175
def empty_else_style; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/missing_else.rb#155
def if_style?; end

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#135
def message_template; end

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#167
def unless_else_config; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/missing_else.rb#163
def unless_else_cop_enabled?; end

end

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#104 RuboCop::Cop::Style::MissingElse::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#106 RuboCop::Cop::Style::MissingElse::MSG_EMPTY = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/missing_else.rb#105 RuboCop::Cop::Style::MissingElse::MSG_NIL = T.let(T.unsafe(nil), String)

# Checks for the presence of ‘method_missing` without also # defining `respond_to_missing?`. # # @example # # bad # def method_missing(name, *args) # # … # end # # # good # def respond_to_missing?(name, include_private) # # … # end # # def method_missing(name, *args) # # … # end # # source://rubocop//lib/rubocop/cop/style/missing_respond_to_missing.rb#24 class RuboCop::Cop::Style::MissingRespondToMissing < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/missing_respond_to_missing.rb#27
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/missing_respond_to_missing.rb#27
def on_defs(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/missing_respond_to_missing.rb#37
def implements_respond_to_missing?(node); end

end

# source://rubocop//lib/rubocop/cop/style/missing_respond_to_missing.rb#25 RuboCop::Cop::Style::MissingRespondToMissing::MSG = T.let(T.unsafe(nil), String)

# Checks for grouping of mixins in ‘class` and `module` bodies. # By default it enforces mixins to be placed in separate declarations, # but it can be configured to enforce grouping them in one declaration. # # @example EnforcedStyle: separated (default) # # bad # class Foo # include Bar, Qox # end # # # good # class Foo # include Qox # include Bar # end # @example EnforcedStyle: grouped # # bad # class Foo # extend Bar # extend Qox # end # # # good # class Foo # extend Qox, Bar # end # # source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#33 class RuboCop::Cop::Style::MixinGrouping < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#40
def on_class(node); end

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#40
def on_module(node); end

private

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#64
def check(send_node); end

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#72
def check_grouped_style(send_node); end

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#91
def check_separated_style(send_node); end

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#127
def group_mixins(node, mixins); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#110
def grouped_style?; end

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#53
def range_to_remove_for_subsequent_mixin(mixins, node); end

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#118
def separate_mixins(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#114
def separated_style?; end

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#104
def sibling_mixins(send_node); end

end

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#37 RuboCop::Cop::Style::MixinGrouping::MIXIN_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/mixin_grouping.rb#38 RuboCop::Cop::Style::MixinGrouping::MSG = T.let(T.unsafe(nil), String)

# Checks that ‘include`, `extend` and `prepend` statements appear # inside classes and modules, not at the top level, so as to not affect # the behavior of `Object`. # # @example # # bad # include M # # class C # end # # # bad # extend M # # class C # end # # # bad # prepend M # # class C # end # # # good # class C # include M # end # # # good # class C # extend M # end # # # good # class C # prepend M # end # # source://rubocop//lib/rubocop/cop/style/mixin_usage.rb#43 class RuboCop::Cop::Style::MixinUsage < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/mixin_usage.rb#54
def in_top_level_scope?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/mixin_usage.rb#48
def include_statement(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/mixin_usage.rb#62
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/mixin_usage.rb#44 RuboCop::Cop::Style::MixinUsage::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/mixin_usage.rb#45 RuboCop::Cop::Style::MixinUsage::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for use of ‘extend self` or `module_function` in a module. # # Supported styles are: `module_function` (default), `extend_self` and `forbidden`. # # A couple of things to keep in mind: # # - `forbidden` style prohibits the usage of both styles # - in default mode (`module_function`), the cop won’t be activated when the module # contains any private methods # # @example EnforcedStyle: module_function (default) # # bad # module Test # extend self # # … # end # # # good # module Test # module_function # # … # end # # # good # module Test # extend self # # … # private # # … # end # # # good # module Test # class << self # # … # end # end # @example EnforcedStyle: extend_self # # bad # module Test # module_function # # … # end # # # good # module Test # extend self # # … # end # # # good # module Test # class << self # # … # end # end # @example EnforcedStyle: forbidden # # bad # module Test # module_function # # … # end # # # bad # module Test # extend self # # … # end # # # bad # module Test # extend self # # … # private # # … # end # # # good # module Test # class << self # # … # end # end # # source://rubocop//lib/rubocop/cop/style/module_function.rb#95 class RuboCop::Cop::Style::ModuleFunction < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/module_function.rb#107
def extend_self_node?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/module_function.rb#104
def module_function_node?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/module_function.rb#112
def on_module(node); end

# source://rubocop//lib/rubocop/cop/style/module_function.rb#110
def private_directive?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/module_function.rb#149
def check_extend_self(nodes); end

# source://rubocop//lib/rubocop/cop/style/module_function.rb#155
def check_forbidden(nodes); end

# source://rubocop//lib/rubocop/cop/style/module_function.rb#141
def check_module_function(nodes); end

# source://rubocop//lib/rubocop/cop/style/module_function.rb#130
def each_wrong_style(nodes, &block); end

# source://rubocop//lib/rubocop/cop/style/module_function.rb#162
def message(_range); end

end

# source://rubocop//lib/rubocop/cop/style/module_function.rb#100 RuboCop::Cop::Style::ModuleFunction::EXTEND_SELF_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/module_function.rb#101 RuboCop::Cop::Style::ModuleFunction::FORBIDDEN_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/module_function.rb#99 RuboCop::Cop::Style::ModuleFunction::MODULE_FUNCTION_MSG = T.let(T.unsafe(nil), String)

# Checks for chaining of a block after another block that spans # multiple lines. # # @example # # # bad # Thread.list.select do |t| # t.alive? # end.map do |t| # t.object_id # end # # # good # alive_threads = Thread.list.select do |t| # t.alive? # end # alive_threads.map do |t| # t.object_id # end # # source://rubocop//lib/rubocop/cop/style/multiline_block_chain.rb#25 class RuboCop::Cop::Style::MultilineBlockChain < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp

# source://rubocop//lib/rubocop/cop/style/multiline_block_chain.rb#30
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/multiline_block_chain.rb#30
def on_numblock(node); end

end

# source://rubocop//lib/rubocop/cop/style/multiline_block_chain.rb#28 RuboCop::Cop::Style::MultilineBlockChain::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of if/unless modifiers with multiple-lines bodies. # # @example # # # bad # { # result: ‘this should not happen’ # } unless cond # # # good # { result: ‘ok’ } if cond # # source://rubocop//lib/rubocop/cop/style/multiline_if_modifier.rb#17 class RuboCop::Cop::Style::MultilineIfModifier < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::StatementModifier
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/multiline_if_modifier.rb#25
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/style/multiline_if_modifier.rb#43
def indented_body(body, node); end

# source://rubocop//lib/rubocop/cop/style/multiline_if_modifier.rb#35
def to_normal_if(node); end

end

# source://rubocop//lib/rubocop/cop/style/multiline_if_modifier.rb#22 RuboCop::Cop::Style::MultilineIfModifier::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of the ‘then` keyword in multi-line if statements. # # @example # # bad # # This is considered bad practice. # if cond then # end # # # good # # If statements can contain `then` on the same line. # if cond then a # elsif cond then b # end # # source://rubocop//lib/rubocop/cop/style/multiline_if_then.rb#19 class RuboCop::Cop::Style::MultilineIfThen < ::RuboCop::Cop::Base

include ::RuboCop::Cop::OnNormalIfUnless
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/multiline_if_then.rb#28
def on_normal_if_unless(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiline_if_then.rb#38
def non_modifier_then?(node); end

end

# source://rubocop//lib/rubocop/cop/style/multiline_if_then.rb#26 RuboCop::Cop::Style::MultilineIfThen::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/multiline_if_then.rb#24 RuboCop::Cop::Style::MultilineIfThen::NON_MODIFIER_THEN = T.let(T.unsafe(nil), Regexp)

# Checks uses of the ‘then` keyword in multi-line `in` statement. # # @example # # bad # case expression # in pattern then # end # # # good # case expression # in pattern # end # # # good # case expression # in pattern then do_something # end # # # good # case expression # in pattern then do_something(arg1, # arg2) # end # # source://rubocop//lib/rubocop/cop/style/multiline_in_pattern_then.rb#30 class RuboCop::Cop::Style::MultilineInPatternThen < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/multiline_in_pattern_then.rb#39
def on_in_pattern(node); end

private

# Requires `then` for write `in` and its body on the same line.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiline_in_pattern_then.rb#51
def require_then?(in_pattern_node); end

end

# source://rubocop//lib/rubocop/cop/style/multiline_in_pattern_then.rb#37 RuboCop::Cop::Style::MultilineInPatternThen::MSG = T.let(T.unsafe(nil), String)

# Checks expressions wrapping styles for multiline memoization. # # @example EnforcedStyle: keyword (default) # # bad # foo ||= ( # bar # baz # ) # # # good # foo ||= begin # bar # baz # end # @example EnforcedStyle: braces # # bad # foo ||= begin # bar # baz # end # # # good # foo ||= ( # bar # baz # ) # # source://rubocop//lib/rubocop/cop/style/multiline_memoization.rb#33 class RuboCop::Cop::Style::MultilineMemoization < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/multiline_memoization.rb#56
def message(_node); end

# source://rubocop//lib/rubocop/cop/style/multiline_memoization.rb#41
def on_or_asgn(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiline_memoization.rb#62
def bad_rhs?(rhs); end

# source://rubocop//lib/rubocop/cop/style/multiline_memoization.rb#72
def keyword_autocorrect(node, corrector); end

# source://rubocop//lib/rubocop/cop/style/multiline_memoization.rb#78
def keyword_begin_str(node, node_buf); end

# source://rubocop//lib/rubocop/cop/style/multiline_memoization.rb#86
def keyword_end_str(node, node_buf); end

end

# source://rubocop//lib/rubocop/cop/style/multiline_memoization.rb#39 RuboCop::Cop::Style::MultilineMemoization::BRACES_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/multiline_memoization.rb#38 RuboCop::Cop::Style::MultilineMemoization::KEYWORD_MSG = T.let(T.unsafe(nil), String)

# Checks for method signatures that span multiple lines. # # @example # # # good # # def foo(bar, baz) # end # # # bad # # def foo(bar, # baz) # end # # source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#21 class RuboCop::Cop::Style::MultilineMethodSignature < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#27
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#27
def on_defs(node); end

private

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#69
def arguments_range(node); end

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#42
def autocorrect(corrector, node, begin_of_arguments); end

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#81
def closing_line(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#85
def correction_exceeds_max_line_length?(node); end

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#93
def definition_width(node); end

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#89
def indentation_width(node); end

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#65
def last_line_source_of_arguments(arguments); end

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#97
def max_line_length; end

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#77
def opening_line(node); end

end

# source://rubocop//lib/rubocop/cop/style/multiline_method_signature.rb#25 RuboCop::Cop::Style::MultilineMethodSignature::MSG = T.let(T.unsafe(nil), String)

# Checks for multi-line ternary op expressions. # # NOTE: ‘return if … else … end` is syntax error. If `return` is used before # multiline ternary operator expression, it will be autocorrected to single-line # ternary operator. The same is true for `break`, `next`, and method call. # # @example # # bad # a = cond ? # b : c # a = cond ? b : # c # a = cond ? # b : # c # # return cond ? # b : # c # # # good # a = cond ? b : c # a = if cond # b # else # c # end # # return cond ? b : c # # source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#36 class RuboCop::Cop::Style::MultilineTernaryOperator < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CommentsHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#44
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#64
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#86
def comments_in_condition(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#92
def enforce_single_line_ternary_operator?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#60
def offense?(node); end

# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#72
def replacement(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#96
def use_assignment_method?(node); end

end

# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#40 RuboCop::Cop::Style::MultilineTernaryOperator::MSG_IF = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#41 RuboCop::Cop::Style::MultilineTernaryOperator::MSG_SINGLE_LINE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#42 RuboCop::Cop::Style::MultilineTernaryOperator::SINGLE_LINE_TYPES = T.let(T.unsafe(nil), Array)

# Checks uses of the ‘then` keyword # in multi-line when statements. # # @example # # bad # case foo # when bar then # end # # # good # case foo # when bar # end # # # good # case foo # when bar then do_something # end # # # good # case foo # when bar then do_something(arg1, # arg2) # end # # source://rubocop//lib/rubocop/cop/style/multiline_when_then.rb#31 class RuboCop::Cop::Style::MultilineWhenThen < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/multiline_when_then.rb#37
def on_when(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiline_when_then.rb#58
def accept_node_type?(node); end

# Requires `then` for write `when` and its body on the same line.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiline_when_then.rb#49
def require_then?(when_node); end

end

# source://rubocop//lib/rubocop/cop/style/multiline_when_then.rb#35 RuboCop::Cop::Style::MultilineWhenThen::MSG = T.let(T.unsafe(nil), String)

# Checks against comparing a variable with multiple items, where # ‘Array#include?`, `Set#include?` or a `case` could be used instead # to avoid code repetition. # It accepts comparisons of multiple method calls to avoid unnecessary method calls # by default. It can be configured by `AllowMethodComparison` option. # # @example # # bad # a = ’a’ # foo if a == ‘a’ || a == ‘b’ || a == ‘c’ # # # good # a = ‘a’ # foo if [‘a’, ‘b’, ‘c’].include?(a) # # VALUES = Set[‘a’, ‘b’, ‘c’].freeze # # elsewhere… # foo if VALUES.include?(a) # # case foo # when ‘a’, ‘b’, ‘c’ then foo # # … # end # # # accepted (but consider ‘case` as above) # foo if a == b.lightweight || a == b.heavyweight # @example AllowMethodComparison: true (default) # # good # foo if a == b.lightweight || a == b.heavyweight # @example AllowMethodComparison: false # # bad # foo if a == b.lightweight || a == b.heavyweight # # # good # foo if [b.lightweight, b.heavyweight].include?(a) # @example ComparisonsThreshold: 2 (default) # # bad # foo if a == ’a’ || a == ‘b’ # @example ComparisonsThreshold: 3 # # good # foo if a == ‘a’ || a == ‘b’ # # source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#52 class RuboCop::Cop::Style::MultipleComparison < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#58
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#62
def on_or(node); end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#88
def simple_comparison_lhs?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#93
def simple_comparison_rhs?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#85
def simple_double_comparison?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#161
def allow_method_comparison?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#136
def comparison?(node); end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#165
def comparisons_threshold; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#128
def nested_comparison?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#97
def nested_variable_comparison?(node); end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#156
def reset_comparison; end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#140
def root_of_or_node(or_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#150
def switch_comparison?(node); end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#124
def variable_name(node); end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#103
def variables_in_node(node); end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#111
def variables_in_simple_node(node); end

end

# source://rubocop//lib/rubocop/cop/style/multiple_comparison.rb#55 RuboCop::Cop::Style::MultipleComparison::MSG = T.let(T.unsafe(nil), String)

# Checks whether some constant value isn’t a # mutable literal (e.g. array or hash). # # Strict mode can be used to freeze all constants, rather than # just literals. # Strict mode is considered an experimental feature. It has not been # updated with an exhaustive list of all methods that will produce # frozen objects so there is a decent chance of getting some false # positives. Luckily, there is no harm in freezing an already # frozen object. # # From Ruby 3.0, this cop honours the magic comment # ‘shareable_constant_value’. When this magic comment is set to any # acceptable value other than none, it will suppress the offenses # raised by this cop. It enforces frozen state. # # NOTE: Regexp and Range literals are frozen objects since Ruby 3.0. # # NOTE: From Ruby 3.0, interpolated strings are not frozen when # ‘# frozen-string-literal: true` is used, so this cop enforces explicit # freezing for such strings. # # NOTE: From Ruby 3.0, this cop allows explicit freezing of constants when # the `shareable_constant_value` directive is used. # # @example EnforcedStyle: literals (default) # # bad # CONST = [1, 2, 3] # # # good # CONST = [1, 2, 3].freeze # # # good # CONST = <<~TESTING.freeze # This is a heredoc # TESTING # # # good # CONST = Something.new # @example EnforcedStyle: strict # # bad # CONST = Something.new # # # bad # CONST = Struct.new do # def foo # puts 1 # end # end # # # good # CONST = Something.new.freeze # # # good # CONST = Struct.new do # def foo # puts 1 # end # end.freeze # @example # # Magic comment - shareable_constant_value: literal # # # bad # CONST = [1, 2, 3] # # # good # # shareable_constant_value: literal # CONST = [1, 2, 3] # # source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#83 class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Style::MutableConstant::ShareableConstantValue
include ::RuboCop::Cop::FrozenStringLiteral
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#127
def on_casgn(node); end

# Some of these patterns may not actually return an immutable object,
# but we want to consider them immutable for this cop.
#
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#224
def operation_produces_immutable_object?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#241
def range_enclosed_in_parentheses?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#217
def splat_value(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#169
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#158
def check(value); end

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#208
def correct_splat_expansion(corrector, expr, splat_value); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#200
def frozen_regexp_or_range_literals?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#190
def immutable_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#184
def mutable_literal?(value); end

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#141
def on_assignment(value); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#204
def requires_parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#194
def shareable_constant_value?(node); end

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#149
def strict_check(value); end

end

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#125 RuboCop::Cop::Style::MutableConstant::MSG = T.let(T.unsafe(nil), String)

# Handles magic comment shareable_constant_value with O(n ^ 2) complexity # n - number of lines in the source # Iterates over all lines before a CONSTANT # until it reaches shareable_constant_value # # source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#88 module RuboCop::Cop::Style::MutableConstant::ShareableConstantValue

private

# Identifies the most recent magic comment with valid shareable constant values
# that's in scope for this node
#
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#102
def magic_comment_in_scope(node); end

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#110
def processed_source_till_node(node); end

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#91
def recent_shareable_value?(node); end

# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#114
def shareable_constant_value_enabled?(value); end

class << self
  # Identifies the most recent magic comment with valid shareable constant values
  # that's in scope for this node
  #
  # source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#102
  def magic_comment_in_scope(node); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#91
  def recent_shareable_value?(node); end
end

end

# Checks for uses of if with a negated condition. Only ifs # without else are considered. There are three different styles: # # * both # * prefix # * postfix # # @example EnforcedStyle: both (default) # # enforces ‘unless` for `prefix` and `postfix` conditionals # # # bad # # if !foo # bar # end # # # good # # unless foo # bar # end # # # bad # # bar if !foo # # # good # # bar unless foo # @example EnforcedStyle: prefix # # enforces `unless` for just `prefix` conditionals # # # bad # # if !foo # bar # end # # # good # # unless foo # bar # end # # # good # # bar if !foo # @example EnforcedStyle: postfix # # enforces `unless` for just `postfix` conditionals # # # bad # # bar if !foo # # # good # # bar unless foo # # # good # # if !foo # bar # end # # source://rubocop//lib/rubocop/cop/style/negated_if.rb#71 class RuboCop::Cop::Style::NegatedIf < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::NegativeConditional
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/negated_if.rb#76
def on_if(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/negated_if.rb#92
def correct_style?(node); end

# source://rubocop//lib/rubocop/cop/style/negated_if.rb#88
def message(node); end

end

# Checks for uses of ‘if-else` and ternary operators with a negated condition # which can be simplified by inverting condition and swapping branches. # # @example # # bad # if !x # do_something # else # do_something_else # end # # # good # if x # do_something_else # else # do_something # end # # # bad # !x ? do_something : do_something_else # # # good # x ? do_something_else : do_something # # source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#30 class RuboCop::Cop::Style::NegatedIfElseCondition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#39
def double_negation?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#49
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#45
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#94
def correct_negated_condition(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#90
def corrected_ancestor?(node); end

# Collect the entire else branch, including whitespace and comments
#
# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#125
def else_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#68
def if_else?(node); end

# Collect the entire if branch, including whitespace and comments
#
# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#116
def if_range(node); end

# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#84
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#79
def negated_condition?(node); end

# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#107
def swap_branches(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#73
def unwrap_begin_nodes(node); end

class << self
  # source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#41
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#34 RuboCop::Cop::Style::NegatedIfElseCondition::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/negated_if_else_condition.rb#36 RuboCop::Cop::Style::NegatedIfElseCondition::NEGATED_EQUALITY_METHODS = T.let(T.unsafe(nil), Array)

# Checks for uses of unless with a negated condition. Only unless # without else are considered. There are three different styles: # # * both # * prefix # * postfix # # @example EnforcedStyle: both (default) # # enforces ‘if` for `prefix` and `postfix` conditionals # # # bad # unless !foo # bar # end # # # good # if foo # bar # end # # # bad # bar unless !foo # # # good # bar if foo # @example EnforcedStyle: prefix # # enforces `if` for just `prefix` conditionals # # # bad # unless !foo # bar # end # # # good # if foo # bar # end # # # good # bar unless !foo # @example EnforcedStyle: postfix # # enforces `if` for just `postfix` conditionals # # # bad # bar unless !foo # # # good # bar if foo # # # good # unless !foo # bar # end # # source://rubocop//lib/rubocop/cop/style/negated_unless.rb#61 class RuboCop::Cop::Style::NegatedUnless < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::NegativeConditional
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/negated_unless.rb#66
def on_if(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/negated_unless.rb#82
def correct_style?(node); end

# source://rubocop//lib/rubocop/cop/style/negated_unless.rb#78
def message(node); end

end

# Checks for uses of while with a negated condition. # # @example # # bad # while !foo # bar # end # # # good # until foo # bar # end # # # bad # bar until !foo # # # good # bar while foo # bar while !foo && baz # # source://rubocop//lib/rubocop/cop/style/negated_while.rb#25 class RuboCop::Cop::Style::NegatedWhile < ::RuboCop::Cop::Base

include ::RuboCop::Cop::NegativeConditional
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/negated_while.rb#29
def on_until(node); end

# source://rubocop//lib/rubocop/cop/style/negated_while.rb#29
def on_while(node); end

end

# Checks for nested ‘File.dirname`. # It replaces nested `File.dirname` with the level argument introduced in Ruby 3.1. # # @example # # # bad # File.dirname(File.dirname(path)) # # # good # File.dirname(path, 2) # # source://rubocop//lib/rubocop/cop/style/nested_file_dirname.rb#17 class RuboCop::Cop::Style::NestedFileDirname < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/nested_file_dirname.rb#28
def file_dirname?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/nested_file_dirname.rb#33
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/nested_file_dirname.rb#60
def offense_range(node); end

# source://rubocop//lib/rubocop/cop/style/nested_file_dirname.rb#49
def path_with_dir_level(node, level); end

end

# source://rubocop//lib/rubocop/cop/style/nested_file_dirname.rb#22 RuboCop::Cop::Style::NestedFileDirname::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/nested_file_dirname.rb#23 RuboCop::Cop::Style::NestedFileDirname::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for nested use of if, unless, while and until in their # modifier form. # # @example # # # bad # something if a if b # # # good # something if b && a # # source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#16 class RuboCop::Cop::Style::NestedModifier < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#22
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#22
def on_until(node); end

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#22
def on_while(node); end

private

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#85
def add_parentheses_to_method_arguments(send_node); end

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#42
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#30
def check(node); end

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#65
def left_hand_operand(node, operator); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#38
def modifier?(node); end

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#51
def new_expression(inner_node); end

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#61
def replacement_operator(keyword); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#94
def requires_parens?(node); end

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#71
def right_hand_operand(node, left_hand_keyword); end

end

# source://rubocop//lib/rubocop/cop/style/nested_modifier.rb#20 RuboCop::Cop::Style::NestedModifier::MSG = T.let(T.unsafe(nil), String)

# Checks for unparenthesized method calls in the argument list # of a parenthesized method call. # ‘be`, `be_a`, `be_an`, `be_between`, `be_falsey`, `be_kind_of`, `be_instance_of`, # `be_truthy`, `be_within`, `eq`, `eql`, `end_with`, `include`, `match`, `raise_error`, # `respond_to`, and `start_with` methods are allowed by default. # These are customizable with `AllowedMethods` option. # # @example # # good # method1(method2(arg)) # # # bad # method1(method2 arg) # @example AllowedMethods: [foo] # # good # method1(foo arg) # # source://rubocop//lib/rubocop/cop/style/nested_parenthesized_calls.rb#24 class RuboCop::Cop::Style::NestedParenthesizedCalls < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::AllowedMethods
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/nested_parenthesized_calls.rb#35
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/nested_parenthesized_calls.rb#35
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/nested_parenthesized_calls.rb#71
def allowed?(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/nested_parenthesized_calls.rb#65
def allowed_omission?(send_node); end

# source://rubocop//lib/rubocop/cop/style/nested_parenthesized_calls.rb#51
def autocorrect(corrector, nested); end

class << self
  # source://rubocop//lib/rubocop/cop/style/nested_parenthesized_calls.rb#31
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/nested_parenthesized_calls.rb#29 RuboCop::Cop::Style::NestedParenthesizedCalls::MSG = T.let(T.unsafe(nil), String)

# Checks for nested ternary op expressions. # # @example # # bad # a ? (b ? b1 : b2) : a2 # # # good # if a # b ? b1 : b2 # else # a2 # end # # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#18 class RuboCop::Cop::Style::NestedTernaryOperator < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#25
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#40
def autocorrect(corrector, if_node); end

# source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#47
def remove_parentheses(source); end

# source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#53
def replace_loc_and_whitespace(corrector, range, replacement); end

end

# source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#23 RuboCop::Cop::Style::NestedTernaryOperator::MSG = T.let(T.unsafe(nil), String)

# Use ‘next` to skip iteration instead of a condition at the end. # # @example EnforcedStyle: skip_modifier_ifs (default) # # bad # [1, 2].each do |a| # if a == 1 # puts a # end # end # # # good # [1, 2].each do |a| # next unless a == 1 # puts a # end # # # good # [1, 2].each do |a| # puts a if a == 1 # end # @example EnforcedStyle: always # # With `always` all conditions at the end of an iteration needs to be # # replaced by next - with `skip_modifier_ifs` the modifier if like # # this one are ignored: `[1, 2].each { |a| puts a if a == 1 }` # # # bad # [1, 2].each do |a| # puts a if a == 1 # end # # # bad # [1, 2].each do |a| # if a == 1 # puts a # end # end # # # good # [1, 2].each do |a| # next unless a == 1 # puts a # end # # source://rubocop//lib/rubocop/cop/style/next.rb#49 class RuboCop::Cop::Style::Next < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::MinBodyLength
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/next.rb#68
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#76
def on_for(node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#62
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/style/next.rb#68
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#76
def on_until(node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#76
def on_while(node); end

private

# source://rubocop//lib/rubocop/cop/style/next.rb#213
def actual_indent(lines, buffer); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/next.rb#112
def allowed_modifier_if?(node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#155
def autocorrect_block(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#145
def autocorrect_modifier(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#84
def check(node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#170
def cond_range(node, cond); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/next.rb#189
def end_followed_by_whitespace_only?(source_buffer, end_pos); end

# source://rubocop//lib/rubocop/cop/style/next.rb#180
def end_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/next.rb#98
def ends_with_condition?(body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/next.rb#128
def exit_body_type?(node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#217
def heredoc_lines(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/next.rb#120
def if_else_children?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/next.rb#124
def if_without_else?(node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#140
def offense_location(offense_node); end

# source://rubocop//lib/rubocop/cop/style/next.rb#134
def offense_node(body); end

# Adjust indentation of `lines` to match `node`
#
# source://rubocop//lib/rubocop/cop/style/next.rb#204
def reindent(lines, node, corrector); end

# source://rubocop//lib/rubocop/cop/style/next.rb#224
def reindent_line(corrector, lineno, delta, buffer); end

# source://rubocop//lib/rubocop/cop/style/next.rb#193
def reindentable_lines(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/next.rb#104
def simple_if_without_break?(node); end

class << self
  # source://rubocop//lib/rubocop/cop/style/next.rb#58
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/next.rb#56 RuboCop::Cop::Style::Next::EXIT_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/next.rb#55 RuboCop::Cop::Style::Next::MSG = T.let(T.unsafe(nil), String)

# Checks for comparison of something with nil using ‘==` and # `nil?`. # # Supported styles are: predicate, comparison. # # @example EnforcedStyle: predicate (default) # # # bad # if x == nil # end # # # good # if x.nil? # end # @example EnforcedStyle: comparison # # # bad # if x.nil? # end # # # good # if x == nil # end # # source://rubocop//lib/rubocop/cop/style/nil_comparison.rb#31 class RuboCop::Cop::Style::NilComparison < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/nil_comparison.rb#44
def nil_check?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/nil_comparison.rb#41
def nil_comparison?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/nil_comparison.rb#46
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/nil_comparison.rb#67
def message(_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/nil_comparison.rb#79
def prefer_comparison?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/nil_comparison.rb#71
def style_check?(node, &block); end

end

# source://rubocop//lib/rubocop/cop/style/nil_comparison.rb#36 RuboCop::Cop::Style::NilComparison::EXPLICIT_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/nil_comparison.rb#35 RuboCop::Cop::Style::NilComparison::PREDICATE_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/nil_comparison.rb#38 RuboCop::Cop::Style::NilComparison::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for lambdas and procs that always return nil, # which can be replaced with an empty lambda or proc instead. # # @example # # bad # -> { nil } # # lambda do # next nil # end # # proc { nil } # # Proc.new do # break nil # end # # # good # -> {} # # lambda do # end # # -> (x) { nil if x } # # proc {} # # Proc.new { nil if x } # # source://rubocop//lib/rubocop/cop/style/nil_lambda.rb#35 class RuboCop::Cop::Style::NilLambda < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/nil_lambda.rb#42
def nil_return?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/nil_lambda.rb#46
def on_block(node); end

private

# source://rubocop//lib/rubocop/cop/style/nil_lambda.rb#58
def autocorrect(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/style/nil_lambda.rb#39 RuboCop::Cop::Style::NilLambda::MSG = T.let(T.unsafe(nil), String)

# Checks for non-nil checks, which are usually redundant. # # With ‘IncludeSemanticChanges` set to `false` by default, this cop # does not report offenses for `!x.nil?` and does no changes that might # change behavior. # Also `IncludeSemanticChanges` set to `false` with `EnforcedStyle: comparison` of # `Style/NilComparison` cop, this cop does not report offenses for `x != nil` and # does no changes to `!x.nil?` style. # # With `IncludeSemanticChanges` set to `true`, this cop reports offenses # for `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which # is usually OK, but might change behavior. # # @example # # bad # if x != nil # end # # # good # if x # end # # # Non-nil checks are allowed if they are the final nodes of predicate. # # good # def signed_in? # !current_user.nil? # end # @example IncludeSemanticChanges: false (default) # # good # if !x.nil? # end # @example IncludeSemanticChanges: true # # bad # if !x.nil? # end # # source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#44 class RuboCop::Cop::Style::NonNilCheck < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#59
def nil_check?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#62
def not_and_nil_check?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#53
def not_equal_to_nil?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#73
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#73
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#64
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#56
def unless_check?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#93
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#123
def autocorrect_comparison(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#137
def autocorrect_non_nil(corrector, node, inner_node); end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#145
def autocorrect_unless_nil(corrector, node, receiver); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#119
def include_semantic_changes?; end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#110
def message(node); end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#150
def nil_comparison_style; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#88
def register_offense?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#104
def unless_and_nil_check?(send_node); end

end

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#48 RuboCop::Cop::Style::NonNilCheck::MSG_FOR_REDUNDANCY = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#47 RuboCop::Cop::Style::NonNilCheck::MSG_FOR_REPLACEMENT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/non_nil_check.rb#50 RuboCop::Cop::Style::NonNilCheck::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for uses of the keyword ‘not` instead of `!`. # # @example # # # bad - parentheses are required because of op precedence # x = (not something) # # # good # x = !something # # source://rubocop//lib/rubocop/cop/style/not.rb#16 class RuboCop::Cop::Style::Not < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/not.rb#32
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/not.rb#60
def correct_opposite_method(corrector, range, child); end

# source://rubocop//lib/rubocop/cop/style/not.rb#65
def correct_with_parens(corrector, range, node); end

# source://rubocop//lib/rubocop/cop/style/not.rb#70
def correct_without_parens(corrector, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/not.rb#50
def opposite_method?(child); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/not.rb#54
def requires_parens?(child); end

end

# source://rubocop//lib/rubocop/cop/style/not.rb#20 RuboCop::Cop::Style::Not::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/not.rb#23 RuboCop::Cop::Style::Not::OPPOSITE_METHODS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/not.rb#21 RuboCop::Cop::Style::Not::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for numbered parameters. # # It can either restrict the use of numbered parameters to # single-lined blocks, or disallow completely numbered parameters. # # @example EnforcedStyle: allow_single_line (default) # # bad # collection.each do # puts _1 # end # # # good # collection.each { puts _1 } # @example EnforcedStyle: disallow # # bad # collection.each { puts _1 } # # # good # collection.each { |item| puts item } # # source://rubocop//lib/rubocop/cop/style/numbered_parameters.rb#27 class RuboCop::Cop::Style::NumberedParameters < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/numbered_parameters.rb#36
def on_numblock(node); end

end

# source://rubocop//lib/rubocop/cop/style/numbered_parameters.rb#31 RuboCop::Cop::Style::NumberedParameters::MSG_DISALLOW = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/numbered_parameters.rb#32 RuboCop::Cop::Style::NumberedParameters::MSG_MULTI_LINE = T.let(T.unsafe(nil), String)

# Detects use of an excessive amount of numbered parameters in a # single block. Having too many numbered parameters can make code too # cryptic and hard to read. # # The cop defaults to registering an offense if there is more than 1 numbered # parameter but this maximum can be configured by setting ‘Max`. # # @example Max: 1 (default) # # bad # use_multiple_numbered_parameters { _1.call(_2, _3, _4) } # # # good # array.each { use_array_element_as_numbered_parameter(_1) } # hash.each { use_only_hash_value_as_numbered_parameter(_2) } # # source://rubocop//lib/rubocop/cop/style/numbered_parameters_limit.rb#20 class RuboCop::Cop::Style::NumberedParametersLimit < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/exclude_limit.rb#11
def max=(value); end

# source://rubocop//lib/rubocop/cop/style/numbered_parameters_limit.rb#32
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/style/numbered_parameters_limit.rb#49
def max_count; end

# source://rubocop//lib/rubocop/cop/style/numbered_parameters_limit.rb#43
def numbered_parameter_nodes(node); end

end

# source://rubocop//lib/rubocop/cop/style/numbered_parameters_limit.rb#24 RuboCop::Cop::Style::NumberedParametersLimit::DEFAULT_MAX_VALUE = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cop/style/numbered_parameters_limit.rb#29 RuboCop::Cop::Style::NumberedParametersLimit::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/numbered_parameters_limit.rb#30 RuboCop::Cop::Style::NumberedParametersLimit::NUMBERED_PARAMETER_PATTERN = T.let(T.unsafe(nil), Regexp)

# Checks for octal, hex, binary, and decimal literals using # uppercase prefixes and corrects them to lowercase prefix # or no prefix (in case of decimals). # # @example EnforcedOctalStyle: zero_with_o (default) # # bad - missing octal prefix # num = 01234 # # # bad - uppercase prefix # num = 0O1234 # num = 0X12AB # num = 0B10101 # # # bad - redundant decimal prefix # num = 0D1234 # num = 0d1234 # # # good # num = 0o1234 # num = 0x12AB # num = 0b10101 # num = 1234 # @example EnforcedOctalStyle: zero_only # # bad # num = 0o1234 # num = 0O1234 # # # good # num = 01234 # # source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#36 class RuboCop::Cop::Style::NumericLiteralPrefix < ::RuboCop::Cop::Base

include ::RuboCop::Cop::IntegerNode
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#52
def on_int(node); end

private

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#109
def format_binary(source); end

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#113
def format_decimal(source); end

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#105
def format_hex(source); end

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#97
def format_octal(source); end

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#101
def format_octal_zero_only(source); end

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#82
def hex_bin_dec_literal_type(literal); end

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#68
def literal_type(node); end

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#64
def message(node); end

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#74
def octal_literal_type(literal); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#93
def octal_zero_only?; end

end

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#49 RuboCop::Cop::Style::NumericLiteralPrefix::BINARY_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#43 RuboCop::Cop::Style::NumericLiteralPrefix::BINARY_REGEX = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#50 RuboCop::Cop::Style::NumericLiteralPrefix::DECIMAL_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#44 RuboCop::Cop::Style::NumericLiteralPrefix::DECIMAL_REGEX = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#48 RuboCop::Cop::Style::NumericLiteralPrefix::HEX_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#42 RuboCop::Cop::Style::NumericLiteralPrefix::HEX_REGEX = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#47 RuboCop::Cop::Style::NumericLiteralPrefix::OCTAL_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#41 RuboCop::Cop::Style::NumericLiteralPrefix::OCTAL_REGEX = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#46 RuboCop::Cop::Style::NumericLiteralPrefix::OCTAL_ZERO_ONLY_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/numeric_literal_prefix.rb#40 RuboCop::Cop::Style::NumericLiteralPrefix::OCTAL_ZERO_ONLY_REGEX = T.let(T.unsafe(nil), Regexp)

# Checks for big numeric literals without ‘_` between groups # of digits in them. # # Additional allowed patterns can be added by adding regexps to # the `AllowedPatterns` configuration. All regexps are treated # as anchored even if the patterns do not contain anchors (so # `d{4}_d{4}` will allow `1234_5678` but not `1234_5678_9012`). # # NOTE: Even if `AllowedPatterns` are given, autocorrection will # only correct to the standard pattern of an `_` every 3 digits. # # @example # # # bad # 1000000 # 1_00_000 # 1_0000 # # # good # 1_000_000 # 1000 # @example Strict: false (default) # # # good # 10_000_00 # typical representation of $10,000 in cents # @example Strict: true # # # bad # 10_000_00 # typical representation of $10,000 in cents # @example AllowedNumbers: [3000] # # # good # 3000 # You can specify allowed numbers. (e.g. port number) # # source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#43 class RuboCop::Cop::Style::NumericLiterals < ::RuboCop::Cop::Base

include ::RuboCop::Cop::IntegerNode
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/exclude_limit.rb#11
def min_digits=(value); end

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#60
def on_float(node); end

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#56
def on_int(node); end

private

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#118
def allowed_numbers; end

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#122
def allowed_patterns; end

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#66
def check(node); end

# @param int_part [String]
#
# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#107
def format_int_part(int_part); end

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#93
def format_number(node); end

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#114
def min_digits; end

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#82
def register_offense(node, &_block); end

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#89
def short_group_regex; end

end

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#49 RuboCop::Cop::Style::NumericLiterals::DELIMITER_REGEXP = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/numeric_literals.rb#48 RuboCop::Cop::Style::NumericLiterals::MSG = T.let(T.unsafe(nil), String)

# Checks for usage of comparison operators (‘==`, # `>`, `<`) to test numbers as zero, positive, or negative. # These can be replaced by their respective predicate methods. # This cop can also be configured to do the reverse. # # This cop can be customized allowed methods with `AllowedMethods`. # By default, there are no methods to allowed. # # This cop disregards `#nonzero?` as its value is truthy or falsey, # but not `true` and `false`, and thus not always interchangeable with # `!= 0`. # # This cop allows comparisons to global variables, since they are often # populated with objects which can be compared with integers, but are # not themselves `Integer` polymorphic. # # @example EnforcedStyle: predicate (default) # # bad # foo == 0 # 0 > foo # bar.baz > 0 # # # good # foo.zero? # foo.negative? # bar.baz.positive? # @example EnforcedStyle: comparison # # bad # foo.zero? # foo.negative? # bar.baz.positive? # # # good # foo == 0 # 0 > foo # bar.baz > 0 # @example AllowedMethods: [] (default) with EnforcedStyle: predicate # # bad # foo == 0 # 0 > foo # bar.baz > 0 # @example AllowedMethods: [==] with EnforcedStyle: predicate # # good # foo == 0 # # # bad # 0 > foo # bar.baz > 0 # @example AllowedPatterns: [] (default) with EnforcedStyle: comparison # # bad # foo.zero? # foo.negative? # bar.baz.positive? # @example AllowedPatterns: [’zero’] with EnforcedStyle: predicate # # good # # bad # foo.zero? # # # bad # foo.negative? # bar.baz.positive? # # source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#78 class RuboCop::Cop::Style::NumericPredicate < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#166
def comparison(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#171
def inverted_comparison(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#90
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#161
def predicate(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#107
def allowed_method_name?(name); end

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#111
def check(node); end

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#152
def invert; end

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#132
def parenthesized_source(node); end

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#124
def replacement(numeric, operation); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#144
def replacement_supported?(operator); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#140
def require_parentheses?(node); end

end

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#84 RuboCop::Cop::Style::NumericPredicate::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#86 RuboCop::Cop::Style::NumericPredicate::REPLACEMENTS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/numeric_predicate.rb#88 RuboCop::Cop::Style::NumericPredicate::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Enforces the use of consistent method names # ‘Object#yield_self` or `Object#then`. # # @example EnforcedStyle: then (default) # # # bad # obj.yield_self { |x| x.do_something } # # # good # obj.then { |x| x.do_something } # @example EnforcedStyle: yield_self # # # bad # obj.then { |x| x.do_something } # # # good # obj.yield_self { |x| x.do_something } # # source://rubocop//lib/rubocop/cop/style/object_then.rb#25 class RuboCop::Cop::Style::ObjectThen < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/object_then.rb#34
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/object_then.rb#34
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/object_then.rb#40
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/object_then.rb#48
def check_method_node(node); end

# source://rubocop//lib/rubocop/cop/style/object_then.rb#70
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/object_then.rb#59
def preferred_method?(node); end

end

# source://rubocop//lib/rubocop/cop/style/object_then.rb#32 RuboCop::Cop::Style::ObjectThen::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of if/then/else/end constructs on a single line. # AlwaysCorrectToMultiline config option can be set to true to auto-convert all offenses to # multi-line constructs. When AlwaysCorrectToMultiline is false (default case) the # autocorrect will first try converting them to ternary operators. # # @example # # bad # if foo then bar else baz end # # # bad # unless foo then baz else bar end # # # good # foo ? bar : baz # # # good # bar if foo # # # good # if foo then bar end # # # good # if foo # bar # else # baz # end # # source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#33 class RuboCop::Cop::Style::OneLineConditional < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::OnNormalIfUnless
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#42
def on_normal_if_unless(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#77
def always_multiline?; end

# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#59
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#81
def cannot_replace_to_ternary?(node); end

# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#93
def expr_replacement(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#114
def keyword_with_changed_precedence?(node); end

# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#55
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#107
def method_call_with_changed_precedence?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#99
def requires_parentheses?(node); end

# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#67
def ternary_correction(node); end

# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#85
def ternary_replacement(node); end

end

# source://rubocop//lib/rubocop/cop/style/one_line_conditional.rb#39 RuboCop::Cop::Style::OneLineConditional::MSG = T.let(T.unsafe(nil), String)

# Flags uses of OpenStruct, as it is now officially discouraged # to be used for performance, version compatibility, and potential security issues. # # @example # # # bad # point = OpenStruct.new(x: 0, y: 1) # # # good # Point = Struct.new(:x, :y) # point = Point.new(0, 1) # # # also good # point = { x: 0, y: 1 } # # # bad # test_double = OpenStruct.new(a: ‘b’) # # # good (assumes test using rspec-mocks) # test_double = double # allow(test_double).to receive(:a).and_return(‘b’) # # source://rubocop//lib/rubocop/cop/style/open_struct_use.rb#44 class RuboCop::Cop::Style::OpenStructUse < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/open_struct_use.rb#52
def on_const(node); end

# source://rubocop//lib/rubocop/cop/style/open_struct_use.rb#48
def uses_open_struct?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/open_struct_use.rb#61
def custom_class_or_module_definition?(node); end

end

# source://rubocop//lib/rubocop/cop/style/open_struct_use.rb#45 RuboCop::Cop::Style::OpenStructUse::MSG = T.let(T.unsafe(nil), String)

# Checks for redundant dot before operator method call. # The target operator methods are ‘|`, `^`, `&`, “<=>“, `==`, `===`, `=~`, `>`, `>=`, `<`, # “<=“, `<<`, `>>`, `+`, `-`, `*`, `/`, `%`, `**`, `~`, `!`, `!=`, and `!~`. # # @example # # # bad # foo.+ bar # foo.& bar # # # good # foo + bar # foo & bar # # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#20 class RuboCop::Cop::Style::OperatorMethodCall < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#27
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#53
def anonymous_forwarding?(argument); end

# Checks for an acceptable case of `foo.+(bar).baz`.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#47
def method_call_with_parenthesized_arg?(argument); end

# source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#60
def wrap_in_parentheses_if_chained(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#23 RuboCop::Cop::Style::OperatorMethodCall::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#24 RuboCop::Cop::Style::OperatorMethodCall::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for options hashes and discourages them if the # current Ruby version supports keyword arguments. # # @example # # # bad # def fry(options = {}) # temperature = options.fetch(:temperature, 300) # # … # end # # # good # def fry(temperature: 300) # # … # end # # source://rubocop//lib/rubocop/cop/style/option_hash.rb#22 class RuboCop::Cop::Style::OptionHash < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/option_hash.rb#30
def on_args(node); end

# source://rubocop//lib/rubocop/cop/style/option_hash.rb#26
def option_hash(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/option_hash.rb#39
def allowlist; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/option_hash.rb#48
def super_used?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/option_hash.rb#43
def suspicious_name?(arg_name); end

end

# source://rubocop//lib/rubocop/cop/style/option_hash.rb#23 RuboCop::Cop::Style::OptionHash::MSG = T.let(T.unsafe(nil), String)

# Checks for optional arguments to methods # that do not come at the end of the argument list. # # @example # # bad # def foo(a = 1, b, c) # end # # # good # def baz(a, b, c = 1) # end # # def foobar(a = 1, b = 2, c = 3) # end # # source://rubocop//lib/rubocop/cop/style/optional_arguments.rb#24 class RuboCop::Cop::Style::OptionalArguments < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/optional_arguments.rb#27
def on_def(node); end

private

# source://rubocop//lib/rubocop/cop/style/optional_arguments.rb#45
def argument_positions(arguments); end

# source://rubocop//lib/rubocop/cop/style/optional_arguments.rb#33
def each_misplaced_optional_arg(arguments); end

end

# source://rubocop//lib/rubocop/cop/style/optional_arguments.rb#25 RuboCop::Cop::Style::OptionalArguments::MSG = T.let(T.unsafe(nil), String)

# Checks for places where keyword arguments can be used instead of # boolean arguments when defining methods. ‘respond_to_missing?` method is allowed by default. # These are customizable with `AllowedMethods` option. # # @example # # bad # def some_method(bar = false) # puts bar # end # # # bad - common hack before keyword args were introduced # def some_method(options = {}) # bar = options.fetch(:bar, false) # puts bar # end # # # good # def some_method(bar: false) # puts bar # end # @example AllowedMethods: [’some_method’] # # good # def some_method(bar = false) # puts bar # end # # source://rubocop//lib/rubocop/cop/style/optional_boolean_parameter.rb#37 class RuboCop::Cop::Style::OptionalBooleanParameter < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods

# source://rubocop//lib/rubocop/cop/style/optional_boolean_parameter.rb#43
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/optional_boolean_parameter.rb#43
def on_defs(node); end

private

# source://rubocop//lib/rubocop/cop/style/optional_boolean_parameter.rb#56
def format_message(argument); end

end

# source://rubocop//lib/rubocop/cop/style/optional_boolean_parameter.rb#40 RuboCop::Cop::Style::OptionalBooleanParameter::MSG = T.let(T.unsafe(nil), String)

# Checks for potential usage of the ‘||=` operator. # # @example # # bad # name = name ? name : ’Bozhidar’ # # # bad # name = if name # name # else # ‘Bozhidar’ # end # # # bad # unless name # name = ‘Bozhidar’ # end # # # bad # name = ‘Bozhidar’ unless name # # # good - set name to ‘Bozhidar’, only if it’s nil or false # name ||= ‘Bozhidar’ # # source://rubocop//lib/rubocop/cop/style/or_assignment.rb#29 class RuboCop::Cop::Style::OrAssignment < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#57
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#57
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#51
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#57
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#57
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#35
def ternary_assignment?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#44
def unless_assignment?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#70
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#80
def take_variable_and_default_from_ternary(node); end

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#85
def take_variable_and_default_from_unless(node); end

end

# source://rubocop//lib/rubocop/cop/style/or_assignment.rb#32 RuboCop::Cop::Style::OrAssignment::MSG = T.let(T.unsafe(nil), String)

# Checks for simple usages of parallel assignment. # This will only complain when the number of variables # being assigned matched the number of assigning variables. # # @example # # bad # a, b, c = 1, 2, 3 # a, b, c = [1, 2, 3] # # # good # one, two = *foo # a, b = foo() # a, b = b, a # # a = 1 # b = 2 # c = 3 # # source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#25 class RuboCop::Cop::Style::ParallelAssignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RescueNode
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#124
def implicit_self_getter?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#31
def on_masgn(node); end

private

# Converts (send nil :something) nodes to (send (:self) :something).
# This makes the sorting algorithm work for expressions such as
# `self.a, self.b = b, a`.
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#117
def add_self_to_getters(right_elements); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#64
def allowed_lhs?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#58
def allowed_masign?(lhs_elements, rhs_elements); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#72
def allowed_rhs?(node); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#84
def assignment_corrector(node, rhs, order); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#49
def autocorrect(corrector, node, lhs, rhs); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#100
def find_valid_order(left_elements, right_elements); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#183
def modifier_statement?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#80
def return_of_method_call?(node); end

end

# Helper class necessitated by silly design of TSort prior to Ruby 2.1 # Newer versions have a better API, but that doesn’t help us # # source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#128 class RuboCop::Cop::Style::ParallelAssignment::AssignmentSorter

include ::TSort
extend ::RuboCop::AST::NodePattern::Macros

# @return [AssignmentSorter] a new instance of AssignmentSorter
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#141
def initialize(assignments); end

# `lhs` is an assignment method call like `obj.attr=` or `ary[idx]=`.
# Does `rhs` access the same value which is assigned by `lhs`?
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#170
def accesses?(rhs, lhs); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#163
def dependency?(lhs, rhs); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#139
def matching_calls(param0, param1, param2); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#149
def tsort_each_child(assignment); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#145
def tsort_each_node(*_arg0, **_arg1, &_arg2); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#136
def uses_var?(param0, param1); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#133
def var_name(param0 = T.unsafe(nil)); end

end

# An internal class for correcting parallel assignment # # source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#190 class RuboCop::Cop::Style::ParallelAssignment::GenericCorrector

include ::RuboCop::Cop::Alignment

# @return [GenericCorrector] a new instance of GenericCorrector
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#195
def initialize(node, rhs, modifier, config, new_elements); end

# Returns the value of attribute config.
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#193
def config; end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#203
def correction; end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#207
def correction_range; end

# Returns the value of attribute node.
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#193
def node; end

# Returns the value of attribute rescue_result.
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#193
def rescue_result; end

# Returns the value of attribute rhs.
#
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#193
def rhs; end

protected

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#213
def assignment; end

private

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#233
def cop_config; end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#229
def extract_sources(node); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#219
def source(node); end

end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#29 RuboCop::Cop::Style::ParallelAssignment::MSG = T.let(T.unsafe(nil), String)

# An internal class for correcting parallel assignment # guarded by if, unless, while, or until # # source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#275 class RuboCop::Cop::Style::ParallelAssignment::ModifierCorrector < ::RuboCop::Cop::Style::ParallelAssignment::GenericCorrector

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#276
def correction; end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#285
def correction_range; end

private

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#291
def modifier_range(node); end

end

# An internal class for correcting parallel assignment # protected by rescue # # source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#240 class RuboCop::Cop::Style::ParallelAssignment::RescueCorrector < ::RuboCop::Cop::Style::ParallelAssignment::GenericCorrector

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#241
def correction; end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#252
def correction_range; end

private

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#263
def begin_correction(rescue_result); end

# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#258
def def_correction(rescue_result); end

end

# Checks for the presence of superfluous parentheses around the # condition of if/unless/while/until. # # ‘AllowSafeAssignment` option for safe assignment. # By safe assignment we mean putting parentheses around # an assignment to indicate “I know I’m using an assignment # as a condition. It’s not a mistake.” # # @example # # bad # x += 1 while (x < 10) # foo unless (bar || baz) # # if (x > 10) # elsif (x < 3) # end # # # good # x += 1 while x < 10 # foo unless bar || baz # # if x > 10 # elsif x < 3 # end # @example AllowSafeAssignment: true (default) # # good # foo unless (bar = baz) # @example AllowSafeAssignment: false # # bad # foo unless (bar = baz) # @example AllowInMultilineConditions: false (default) # # bad # if (x > 10 && # y > 10) # end # # # good # if x > 10 && # y > 10 # end # @example AllowInMultilineConditions: true # # good # if (x > 10 && # y > 10) # end # # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#56 class RuboCop::Cop::Style::ParenthesesAroundCondition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::SafeAssignment
include ::RuboCop::Cop::Parentheses
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#76
def control_op_condition(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#62
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#68
def on_until(node); end

# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#68
def on_while(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#130
def allow_multiline_conditions?; end

# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#118
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#111
def modifier_op?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#124
def parens_allowed?(node); end

# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#80
def process_control_op(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#96
def require_parentheses?(node, condition_body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#103
def semicolon_separated_expressions?(first_exp, rest_exps); end

end

# Enforces the consistent usage of ‘%`-literal delimiters. # # Specify the ’default’ key to set all preferred delimiters at once. You # can continue to specify individual preferred delimiters to override the # default. # # @example # # Style/PercentLiteralDelimiters: # # PreferredDelimiters: # # default: ‘[]’ # # ‘%i’: ‘()’ # # # good # %w[alpha beta] + %i(gamma delta) # # # bad # %W(alpha #{beta}) # # # bad # %I(alpha beta) # # source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#26 class RuboCop::Cop::Style::PercentLiteralDelimiters < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::PercentLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#30
def on_array(node); end

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#38
def on_dstr(node); end

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#34
def on_regexp(node); end

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#38
def on_str(node); end

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#43
def on_sym(node); end

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#47
def on_xstr(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#93
def contains_delimiter?(node, delimiters); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#82
def contains_preferred_delimiter?(node, type); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#86
def include_same_character_as_used_for_delimiter?(node, type); end

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#107
def matchpairs(begin_delimiter); end

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#67
def message(type); end

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#53
def on_percent_literal(node); end

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#74
def preferred_delimiters_for(type); end

# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#99
def string_source(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/percent_literal_delimiters.rb#78
def uses_preferred_delimiter?(node, type); end

end

# Checks for usage of the %Q() syntax when %q() would do. # # @example EnforcedStyle: lower_case_q (default) # # The ‘lower_case_q` style prefers `%q` unless # # interpolation is needed. # # bad # %Q[Mix the foo into the baz.] # %Q(They all said: ’Hooray!‘) # # # good # %q[Mix the foo into the baz] # %q(They all said: ’Hooray!‘) # @example EnforcedStyle: upper_case_q # # The `upper_case_q` style requires the sole use of `%Q`. # # bad # %q/Mix the foo into the baz./ # %q{They all said: ’Hooray!‘} # # # good # %Q/Mix the foo into the baz./ # %Q{They all said: ’Hooray!‘} # # source://rubocop//lib/rubocop/cop/style/percent_q_literals.rb#28 class RuboCop::Cop::Style::PercentQLiterals < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::PercentLiteral
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/percent_q_literals.rb#36
def on_str(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/percent_q_literals.rb#55
def correct_literal_style?(node); end

# source://rubocop//lib/rubocop/cop/style/percent_q_literals.rb#64
def corrected(src); end

# source://rubocop//lib/rubocop/cop/style/percent_q_literals.rb#60
def message(_range); end

# source://rubocop//lib/rubocop/cop/style/percent_q_literals.rb#42
def on_percent_literal(node); end

end

# source://rubocop//lib/rubocop/cop/style/percent_q_literals.rb#33 RuboCop::Cop::Style::PercentQLiterals::LOWER_CASE_Q_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/percent_q_literals.rb#34 RuboCop::Cop::Style::PercentQLiterals::UPPER_CASE_Q_MSG = T.let(T.unsafe(nil), String)

# Looks for uses of Perl-style regexp match # backreferences and their English versions like # $1, $2, $&, &+, $MATCH, $PREMATCH, etc. # # @example # # bad # puts $1 # # # good # puts Regexp.last_match(1) # # source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#16 class RuboCop::Cop::Style::PerlBackrefs < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#21
def on_back_ref(node); end

# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#25
def on_gvar(node); end

# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#29
def on_nth_ref(node); end

private

# @param node [RuboCop::AST::Node]
# @private
# @return [String]
#
# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#99
def constant_prefix(node); end

# @param node [RuboCop::AST::Node]
# @private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#38
def derived_from_braceless_interpolation?(node); end

# @param node [RuboCop::AST::Node]
# @param preferred_expression [String]
# @private
# @return [String]
#
# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#46
def format_message(node:, preferred_expression:); end

# @param node [RuboCop::AST::Node]
# @private
#
# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#109
def on_back_ref_or_gvar_or_nth_ref(node); end

# @param node [RuboCop::AST::Node]
# @private
# @return [String]
#
# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#58
def original_expression_of(node); end

# @param node [RuboCop::AST::Node]
# @private
# @return [String, nil]
#
# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#70
def preferred_expression_to(node); end

# @param node [RuboCop::AST::Node]
# @private
# @return [String, nil]
#
# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#89
def preferred_expression_to_node_with_constant_prefix(node); end

end

# source://rubocop//lib/rubocop/cop/style/perl_backrefs.rb#19 RuboCop::Cop::Style::PerlBackrefs::MESSAGE_FORMAT = T.let(T.unsafe(nil), String)

# Checks for uses of methods ‘Hash#has_key?` and # `Hash#has_value?`, and suggests using `Hash#key?` and `Hash#value?` instead. # # It is configurable to enforce the verbose method names, by using the # `EnforcedStyle: verbose` configuration. # # @example EnforcedStyle: short (default) # # bad # Hash#has_key? # Hash#has_value? # # # good # Hash#key? # Hash#value? # @example EnforcedStyle: verbose # # bad # Hash#key? # Hash#value? # # # good # Hash#has_key? # Hash#has_value? # # source://rubocop//lib/rubocop/cop/style/preferred_hash_methods.rb#33 class RuboCop::Cop::Style::PreferredHashMethods < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/preferred_hash_methods.rb#43
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/preferred_hash_methods.rb#43
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/preferred_hash_methods.rb#56
def message(method_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/preferred_hash_methods.rb#68
def offending_selector?(method_name); end

# source://rubocop//lib/rubocop/cop/style/preferred_hash_methods.rb#60
def proper_method_name(method_name); end

end

# source://rubocop//lib/rubocop/cop/style/preferred_hash_methods.rb#37 RuboCop::Cop::Style::PreferredHashMethods::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/preferred_hash_methods.rb#39 RuboCop::Cop::Style::PreferredHashMethods::OFFENDING_SELECTORS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/preferred_hash_methods.rb#41 RuboCop::Cop::Style::PreferredHashMethods::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for uses of Proc.new where Kernel#proc # would be more appropriate. # # @example # # bad # p = Proc.new { |n| puts n } # # # good # p = proc { |n| puts n } # # source://rubocop//lib/rubocop/cop/style/proc.rb#16 class RuboCop::Cop::Style::Proc < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/proc.rb#25
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/proc.rb#25
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/proc.rb#22
def proc_new?(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/style/proc.rb#19 RuboCop::Cop::Style::Proc::MSG = T.let(T.unsafe(nil), String)

# Checks if the quotes used for quoted symbols match the configured defaults. # By default uses the same configuration as ‘Style/StringLiterals`; if that # cop is not enabled, the default `EnforcedStyle` is `single_quotes`. # # String interpolation is always kept in double quotes. # # Note: `Lint/SymbolConversion` can be used in parallel to ensure that symbols # are not quoted that don’t need to be. This cop is for configuring the quoting # style to use for symbols that require quotes. # # @example EnforcedStyle: same_as_string_literals (default) / single_quotes # # bad # :“abc-def” # # # good # :‘abc-def’ # :“#{str}” # :“a'b” # @example EnforcedStyle: double_quotes # # bad # :‘abc-def’ # # # good # :“abc-def” # :“#{str}” # :“a'b” # # source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#33 class RuboCop::Cop::Style::QuotedSymbols < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::SymbolHelp
include ::RuboCop::Cop::StringLiteralsHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#44
def on_sym(node); end

private

# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#108
def alternative_style; end

# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#71
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#88
def correct_quotes(str); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#83
def hash_colon_key?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#61
def invalid_double_quotes?(source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#112
def quoted?(sym_node); end

# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#99
def style; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#116
def wrong_quotes?(node); end

end

# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#41 RuboCop::Cop::Style::QuotedSymbols::MSG_DOUBLE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/quoted_symbols.rb#39 RuboCop::Cop::Style::QuotedSymbols::MSG_SINGLE = T.let(T.unsafe(nil), String)

# Checks the args passed to ‘fail` and `raise`. For exploded # style (default), it recommends passing the exception class and message # to `raise`, rather than construct an instance of the error. It will # still allow passing just a message, or the construction of an error # with more than one argument. # # The exploded style works identically, but with the addition that it # will also suggest constructing error objects when the exception is # passed multiple arguments. # # The exploded style has an `AllowedCompactTypes` configuration # option that takes an Array of exception name Strings. # # @example EnforcedStyle: exploded (default) # # bad # raise StandardError.new(’message’) # # # good # raise StandardError, ‘message’ # fail ‘message’ # raise MyCustomError # raise MyCustomError.new(arg1, arg2, arg3) # raise MyKwArgError.new(key1: val1, key2: val2) # # # With ‘AllowedCompactTypes` set to [’MyWrappedError’] # raise MyWrappedError.new(obj) # raise MyWrappedError.new(obj), ‘message’ # @example EnforcedStyle: compact # # bad # raise StandardError, ‘message’ # raise RuntimeError, arg1, arg2, arg3 # # # good # raise StandardError.new(‘message’) # raise MyCustomError # raise MyCustomError.new(arg1, arg2, arg3) # fail ‘message’ # # source://rubocop//lib/rubocop/cop/style/raise_args.rb#47 class RuboCop::Cop::Style::RaiseArgs < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/raise_args.rb#56
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/raise_args.rb#132
def acceptable_exploded_args?(args); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/raise_args.rb#146
def allowed_non_exploded_type?(arg); end

# source://rubocop//lib/rubocop/cop/style/raise_args.rb#95
def check_compact(node); end

# source://rubocop//lib/rubocop/cop/style/raise_args.rb#111
def check_exploded(node); end

# source://rubocop//lib/rubocop/cop/style/raise_args.rb#69
def correction_compact_to_exploded(node); end

# source://rubocop//lib/rubocop/cop/style/raise_args.rb#81
def correction_exploded_to_compact(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/raise_args.rb#152
def requires_parens?(parent); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/raise_args.rb#128
def use_new_method?(first_arg); end

end

# source://rubocop//lib/rubocop/cop/style/raise_args.rb#52 RuboCop::Cop::Style::RaiseArgs::COMPACT_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/raise_args.rb#51 RuboCop::Cop::Style::RaiseArgs::EXPLODED_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/raise_args.rb#54 RuboCop::Cop::Style::RaiseArgs::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for the use of randomly generated numbers, # added/subtracted with integer literals, as well as those with # Integer#succ and Integer#pred methods. Prefer using ranges instead, # as it clearly states the intentions. # # @example # # bad # rand(6) + 1 # 1 + rand(6) # rand(6) - 1 # 1 - rand(6) # rand(6).succ # rand(6).pred # Random.rand(6) + 1 # Kernel.rand(6) + 1 # rand(0..5) + 1 # # # good # rand(1..6) # rand(1…7) # # source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#26 class RuboCop::Cop::Style::RandomWithOffset < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#33
def integer_op_rand?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#63
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#54
def rand_modified?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#43
def rand_op_integer?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#73
def random_call(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#147
def to_int(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#78
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#135
def boundaries_from_random_node(random_node); end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#88
def corrected_integer_op_rand(node); end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#118
def corrected_rand_modified(node); end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#103
def corrected_rand_op_integer(node); end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#131
def prefix_from_prefix_node(node); end

end

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#29 RuboCop::Cop::Style::RandomWithOffset::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/random_with_offset.rb#30 RuboCop::Cop::Style::RandomWithOffset::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for a redundant argument passed to certain methods. # # NOTE: This cop is limited to methods with single parameter. # # Method names and their redundant arguments can be configured like this: # # [source,yaml] # —- # Methods: # join: ” # sum: 0 # split: ‘ ’ # chomp: “n” # chomp!: “n” # foo: 2 # —- # # @example # # bad # array.join(”) # [1, 2, 3].join(“”) # array.sum(0) # exit(true) # exit!(false) # string.split(“ ”) # “firstnsecond”.split(“ ”) # string.chomp(“n”) # string.chomp!(“n”) # A.foo(2) # # # good # array.join # [1, 2, 3].join # array.sum # exit # exit! # string.split # “first second”.split # string.chomp # string.chomp! # A.foo # # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#57 class RuboCop::Cop::Style::RedundantArgument < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#64
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#64
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#108
def argument_matched?(target_argument, redundant_argument); end

# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#100
def argument_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#120
def exclude_cntrl_character?(target_argument, redundant_argument); end

# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#93
def redundant_arg_for_method(method_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#80
def redundant_argument?(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#61 RuboCop::Cop::Style::RedundantArgument::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#62 RuboCop::Cop::Style::RedundantArgument::NO_RECEIVER_METHODS = T.let(T.unsafe(nil), Array)

# Checks for the instantiation of array using redundant ‘Array` constructor. # Autocorrect replaces to array literal which is the simplest and fastest. # # @example # # # bad # Array.new([]) # Array[] # Array([]) # Array.new([’foo’, ‘foo’, ‘foo’]) # Array[‘foo’, ‘foo’, ‘foo’] # Array([‘foo’, ‘foo’, ‘foo’]) # # # good # [] # [‘foo’, ‘foo’, ‘foo’] # Array.new(3, ‘foo’) # Array.new(3) { ‘foo’ } # # source://rubocop//lib/rubocop/cop/style/redundant_array_constructor.rb#25 class RuboCop::Cop::Style::RedundantArrayConstructor < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_array_constructor.rb#47
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_array_constructor.rb#33
def redundant_array_constructor(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_array_constructor.rb#69
def register_offense(range, node, replacement); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_array_constructor.rb#28 RuboCop::Cop::Style::RedundantArrayConstructor::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_array_constructor.rb#30 RuboCop::Cop::Style::RedundantArrayConstructor::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for redundant assignment before returning. # # @example # # bad # def test # x = foo # x # end # # # bad # def test # if x # z = foo # z # elsif y # z = bar # z # end # end # # # good # def test # foo # end # # # good # def test # if x # foo # elsif y # bar # end # end # # source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#40 class RuboCop::Cop::Style::RedundantAssignment < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#50
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#50
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#46
def redundant_assignment?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#99
def check_begin_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#58
def check_branch(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#79
def check_case_match_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#74
def check_case_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#95
def check_ensure_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#84
def check_if_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#91
def check_rescue_node(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_assignment.rb#43 RuboCop::Cop::Style::RedundantAssignment::MSG = T.let(T.unsafe(nil), String)

# Checks for redundant ‘begin` blocks. # # Currently it checks for code like this: # # @example # # # bad # def redundant # begin # ala # bala # rescue StandardError => e # something # end # end # # # good # def preferred # ala # bala # rescue StandardError => e # something # end # # # bad # begin # do_something # end # # # good # do_something # # # bad # # When using Ruby 2.5 or later. # do_something do # begin # something # rescue => ex # anything # end # end # # # good # # In Ruby 2.5 or later, you can omit `begin` in `do-end` block. # do_something do # something # rescue => ex # anything # end # # # good # # Stabby lambdas don’t support implicit ‘begin` in `do-end` blocks. # -> do # begin # foo # rescue Bar # baz # end # end # # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#65 class RuboCop::Cop::Style::RedundantBegin < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#72
def offensive_kwbegins(param0); end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#84
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#76
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#76
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#95
def on_kwbegin(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#84
def on_numblock(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#103
def allowable_kwbegin?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#177
def begin_block_has_multiline_statements?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#169
def condition_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#181
def contain_rescue_or_ensure?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#162
def correct_modifier_form_after_multiline_begin_block(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#173
def empty_begin?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#110
def register_offense(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#139
def remove_begin(corrector, offense_range, node); end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#127
def replace_begin_with_statement(corrector, offense_range, node); end

# Restore comments that occur between "begin" and "first_child".
# These comments will be moved to above the assignment line.
#
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#149
def restore_removed_comments(corrector, offense_range, node, first_child); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#156
def use_modifier_form_after_multiline_begin_block?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#194
def valid_begin_assignment?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#187
def valid_context_using_only_begin?(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#69 RuboCop::Cop::Style::RedundantBegin::MSG = T.let(T.unsafe(nil), String)

# Checks for usage of the %W() syntax when %w() would do. # # @example # # bad # %W(cat dog pig) # %W[door wall floor] # # # good # %w/swim run bike/ # %w[shirt pants shoes] # %W(apple #{fruit} grape) # # source://rubocop//lib/rubocop/cop/style/redundant_capital_w.rb#17 class RuboCop::Cop::Style::RedundantCapitalW < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::PercentLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_capital_w.rb#23
def on_array(node); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_capital_w.rb#29
def on_percent_literal(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_capital_w.rb#38
def requires_interpolation?(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_capital_w.rb#21 RuboCop::Cop::Style::RedundantCapitalW::MSG = T.let(T.unsafe(nil), String)

# Checks for unnecessary conditional expressions. # # @example # # bad # a = b ? b : c # # # good # a = b || c # @example # # bad # if b # b # else # c # end # # # good # b || c # # # good # if b # b # elsif cond # c # end # # source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#33 class RuboCop::Cop::Style::RedundantCondition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#43
def on_if(node); end

private

# If the argument is using an operator, it is an invalid syntax.
# e.g. `foo || *bar`, `foo || **bar`, and `foo || &bar`.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#167
def argument_with_operator?(argument); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#142
def asgn_type?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#132
def branches_have_assignment?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#146
def branches_have_method?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#240
def correct_ternary(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#187
def else_source(else_branch, arithmetic_operation); end

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#213
def else_source_if_has_assignment(else_branch); end

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#203
def else_source_if_has_method(else_branch); end

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#175
def if_source(if_branch, arithmetic_operation); end

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#223
def make_ternary_form(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#64
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#79
def offense?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#72
def range_of_offense(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#88
def redundant_condition?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#255
def require_braces?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#248
def require_parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#161
def same_method?(if_branch, else_branch); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#155
def single_argument_method?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#104
def synonymous_condition_and_branch?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#259
def use_arithmetic_operation?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#100
def use_hash_key_access?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#96
def use_hash_key_assignment?(else_branch); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#92
def use_if_branch?(else_branch); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#263
def without_argument_parentheses_method?(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#39 RuboCop::Cop::Style::RedundantCondition::ARGUMENT_WITH_OPERATOR_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#37 RuboCop::Cop::Style::RedundantCondition::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_condition.rb#38 RuboCop::Cop::Style::RedundantCondition::REDUNDANT_CONDITION = T.let(T.unsafe(nil), String)

# Checks for redundant returning of true/false in conditionals. # # @example # # bad # x == y ? true : false # # # bad # if x == y # true # else # false # end # # # good # x == y # # # bad # x == y ? false : true # # # good # x != y # # source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#27 class RuboCop::Cop::Style::RedundantConditional < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#36
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#56
def redundant_condition?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#61
def redundant_condition_inverted?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#78
def indented_else_node(expression, node); end

# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#48
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#65
def offense?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#71
def replacement_condition(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#32 RuboCop::Cop::Style::RedundantConditional::COMPARISON_OPERATOR_MATCHER = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#34 RuboCop::Cop::Style::RedundantConditional::MSG = T.let(T.unsafe(nil), String)

# Avoid redundant ‘::` prefix on constant. # # How Ruby searches constant is a bit complicated, and it can often be difficult to # understand from the code whether the `::` is intended or not. Where `Module.nesting` # is empty, there is no need to prepend `::`, so it would be nice to consistently # avoid such meaningless `::` prefix to avoid confusion. # # NOTE: This cop is disabled if `Lint/ConstantResolution` cop is enabled to prevent # conflicting rules. Because it respects user configurations that want to enable # `Lint/ConstantResolution` cop which is disabled by default. # # @example # # bad # ::Const # # # good # Const # # # bad # class << self # ::Const # end # # # good # class << self # Const # end # # # good # class A # ::Const # end # # # good # module A # ::Const # end # # source://rubocop//lib/rubocop/cop/style/redundant_constant_base.rb#43 class RuboCop::Cop::Style::RedundantConstantBase < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_constant_base.rb#48
def on_cbase(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_constant_base.rb#67
def bad?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_constant_base.rb#63
def lint_constant_resolution_config; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_constant_base.rb#59
def lint_constant_resolution_cop_enabled?; end

# source://rubocop//lib/rubocop/cop/style/redundant_constant_base.rb#71
def module_nesting_ancestors_of(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_constant_base.rb#77
def used_in_super_class_part?(node, class_node:); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_constant_base.rb#46 RuboCop::Cop::Style::RedundantConstantBase::MSG = T.let(T.unsafe(nil), String)

# Checks for uses a redundant current directory in path. # # @example # # # bad # require_relative ‘./path/to/feature’ # # # good # require_relative ‘path/to/feature’ # # source://rubocop//lib/rubocop/cop/style/redundant_current_directory_in_path.rb#16 class RuboCop::Cop::Style::RedundantCurrentDirectoryInPath < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_current_directory_in_path.rb#24
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_current_directory_in_path.rb#22 RuboCop::Cop::Style::RedundantCurrentDirectoryInPath::CURRENT_DIRECTORY_PATH = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_current_directory_in_path.rb#20 RuboCop::Cop::Style::RedundantCurrentDirectoryInPath::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_current_directory_in_path.rb#21 RuboCop::Cop::Style::RedundantCurrentDirectoryInPath::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for redundant uses of double splat hash braces. # # @example # # # bad # do_something(**{foo: bar, baz: qux}) # # # good # do_something(foo: bar, baz: qux) # # # bad # do_something(**{foo: bar, baz: qux}.merge(options)) # # # good # do_something(foo: bar, baz: qux, **options) # # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#22 class RuboCop::Cop::Style::RedundantDoubleSplatHashBraces < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#29
def on_hash(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#45
def allowed_double_splat_receiver?(kwsplat); end

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#55
def autocorrect(corrector, node, kwsplat); end

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#89
def autocorrect_merge_methods(corrector, merge_methods, kwsplat); end

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#85
def closing_brace(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#111
def convert_to_new_arguments(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#107
def extract_send_methods(kwsplat); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#123
def mergeable?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#81
def opening_brace(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#100
def range_of_merge_methods(merge_methods); end

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#66
def root_receiver(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#75
def select_merge_method_nodes(kwsplat); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#26 RuboCop::Cop::Style::RedundantDoubleSplatHashBraces::MERGE_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#25 RuboCop::Cop::Style::RedundantDoubleSplatHashBraces::MSG = T.let(T.unsafe(nil), String)

# Checks for redundant ‘each`. # # @example # # # bad # array.each.each { |v| do_something(v) } # # # good # array.each { |v| do_something(v) } # # # bad # array.each.each_with_index { |v, i| do_something(v, i) } # # # good # array.each.with_index { |v, i| do_something(v, i) } # array.each_with_index { |v, i| do_something(v, i) } # # # bad # array.each.each_with_object { |v, o| do_something(v, o) } # # # good # array.each.with_object { |v, o| do_something(v, o) } # array.each_with_object { |v, o| do_something(v, o) } # # source://rubocop//lib/rubocop/cop/style/redundant_each.rb#34 class RuboCop::Cop::Style::RedundantEach < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#43
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#43
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#96
def message(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#86
def range(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#64
def redundant_each_method(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#107
def remove_redundant_each(corrector, range, redundant_node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#37 RuboCop::Cop::Style::RedundantEach::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#38 RuboCop::Cop::Style::RedundantEach::MSG_WITH_INDEX = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#39 RuboCop::Cop::Style::RedundantEach::MSG_WITH_OBJECT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#41 RuboCop::Cop::Style::RedundantEach::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for RuntimeError as the argument of raise/fail. # # @example # # bad # raise RuntimeError, ‘message’ # raise RuntimeError.new(‘message’) # # # good # raise ‘message’ # # # bad - message is not a string # raise RuntimeError, Object.new # raise RuntimeError.new(Object.new) # # # good # raise Object.new.to_s # # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#23 class RuboCop::Cop::Style::RedundantException < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#79
def compact?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#74
def exploded?(param0 = T.unsafe(nil)); end

# Switch `raise RuntimeError, 'message'` to `raise 'message'`, and
# `raise RuntimeError.new('message')` to `raise 'message'`.
#
# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#33
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#57
def fix_compact(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#39
def fix_exploded(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#65
def replaced_compact(message); end

# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#47
def replaced_exploded(node, command, message); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#53
def string_message?(message); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#26 RuboCop::Cop::Style::RedundantException::MSG_1 = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#27 RuboCop::Cop::Style::RedundantException::MSG_2 = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#29 RuboCop::Cop::Style::RedundantException::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Identifies places where ‘fetch(key) { value }` can be replaced by `fetch(key, value)`. # # In such cases `fetch(key, value)` method is faster than `fetch(key) { value }`. # # NOTE: The block string `’value’‘ in `hash.fetch(:key) { ’value’ }‘ is detected # but not when disabled. # # @example SafeForConstants: false (default) # # bad # hash.fetch(:key) { 5 } # hash.fetch(:key) { true } # hash.fetch(:key) { nil } # array.fetch(5) { :value } # ENV.fetch(:key) { ’value’ } # # # good # hash.fetch(:key, 5) # hash.fetch(:key, true) # hash.fetch(:key, nil) # array.fetch(5, :value) # ENV.fetch(:key, ‘value’) # @example SafeForConstants: true # # bad # ENV.fetch(:key) { VALUE } # # # good # ENV.fetch(:key, VALUE) # # source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#40 class RuboCop::Cop::Style::RedundantFetchBlock < ::RuboCop::Cop::Base

include ::RuboCop::Cop::FrozenStringLiteral
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#55
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#89
def rails_cache?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#48
def redundant_fetch_block_candidate?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#74
def basic_literal?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#104
def build_bad_method(send, body); end

# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#97
def build_good_method(send, body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#111
def check_for_constant?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#115
def check_for_string?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#78
def const_type?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#93
def fetch_range(send, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#82
def should_not_check?(send, body); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_fetch_block.rb#45 RuboCop::Cop::Style::RedundantFetchBlock::MSG = T.let(T.unsafe(nil), String)

# Checks for the presence of superfluous ‘.rb` extension in # the filename provided to `require` and `require_relative`. # # Note: If the extension is omitted, Ruby tries adding ’.rb’, ‘.so’, # and so on to the name until found. If the file named cannot be found, # a ‘LoadError` will be raised. # There is an edge case where `foo.so` file is loaded instead of a `LoadError` # if `foo.so` file exists when `require ’foo.rb’‘ will be changed to `require ’foo’‘, # but that seems harmless. # # @example # # bad # require ’foo.rb’ # require_relative ‘../foo.rb’ # # # good # require ‘foo’ # require ‘foo.so’ # require_relative ‘../foo’ # require_relative ‘../foo.so’ # # source://rubocop//lib/rubocop/cop/style/redundant_file_extension_in_require.rb#27 class RuboCop::Cop::Style::RedundantFileExtensionInRequire < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_file_extension_in_require.rb#39
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_file_extension_in_require.rb#35
def require_call?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_file_extension_in_require.rb#53
def extension_range(name_node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_file_extension_in_require.rb#31 RuboCop::Cop::Style::RedundantFileExtensionInRequire::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_file_extension_in_require.rb#32 RuboCop::Cop::Style::RedundantFileExtensionInRequire::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Identifies usages of ‘any?`, `empty?` or `none?` predicate methods # chained to `select`/`filter`/`find_all` and change them to use predicate method instead. # # @example # # bad # arr.select { |x| x > 1 }.any? # # # good # arr.any? { |x| x > 1 } # # # bad # arr.select { |x| x > 1 }.empty? # arr.select { |x| x > 1 }.none? # # # good # arr.none? { |x| x > 1 } # # # good # relation.select(:name).any? # arr.select { |x| x > 1 }.any?(&:odd?) # @example AllCops:ActiveSupportExtensionsEnabled: false (default) # # good # arr.select { |x| x > 1 }.many? # # # good # arr.select { |x| x > 1 }.present? # @example AllCops:ActiveSupportExtensionsEnabled: true # # bad # arr.select { |x| x > 1 }.many? # # # good # arr.many? { |x| x > 1 } # # # bad # arr.select { |x| x > 1 }.present? # # # good # arr.any? { |x| x > 1 } # # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#53 class RuboCop::Cop::Style::RedundantFilterChain < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#81
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#81
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#62
def select_predicate?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#108
def offense_range(select_node, predicate_node); end

# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#112
def predicate_range(predicate_node); end

# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#94
def register_offense(select_node, predicate_node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#56 RuboCop::Cop::Style::RedundantFilterChain::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#58 RuboCop::Cop::Style::RedundantFilterChain::RAILS_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#71 RuboCop::Cop::Style::RedundantFilterChain::REPLACEMENT_METHODS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#59 RuboCop::Cop::Style::RedundantFilterChain::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Check for uses of ‘Object#freeze` on immutable objects. # # NOTE: Regexp and Range literals are frozen objects since Ruby 3.0. # # NOTE: From Ruby 3.0, this cop allows explicit freezing of interpolated # string literals when `# frozen-string-literal: true` is used. # # @example # # bad # CONST = 1.freeze # # # good # CONST = 1 # # source://rubocop//lib/rubocop/cop/style/redundant_freeze.rb#19 class RuboCop::Cop::Style::RedundantFreeze < ::RuboCop::Cop::Base

include ::RuboCop::Cop::FrozenStringLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_freeze.rb#26
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_freeze.rb#57
def operation_produces_immutable_object?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_freeze.rb#39
def immutable_literal?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_freeze.rb#48
def strip_parenthesis(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_freeze.rb#23 RuboCop::Cop::Style::RedundantFreeze::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_freeze.rb#24 RuboCop::Cop::Style::RedundantFreeze::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for redundant heredoc delimiter quotes. # # @example # # # bad # do_something(<<~‘EOS’) # no string interpolation style text # EOS # # # good # do_something(<<~EOS) # no string interpolation style text # EOS # # do_something(<<~‘EOS’) # #{string_interpolation_style_text_not_evaluated} # EOS # # do_something(<<~‘EOS’) # Preserve \ # newlines # EOS # # source://rubocop//lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb#29 class RuboCop::Cop::Style::RedundantHeredocDelimiterQuotes < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Heredoc
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb#36
def on_heredoc(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb#48
def need_heredoc_delimiter_quotes?(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb#33 RuboCop::Cop::Style::RedundantHeredocDelimiterQuotes::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb#34 RuboCop::Cop::Style::RedundantHeredocDelimiterQuotes::STRING_INTERPOLATION_OR_ESCAPED_CHARACTER_PATTERN = T.let(T.unsafe(nil), Regexp)

# Checks for ‘initialize` methods that are redundant. # # An initializer is redundant if it does not do anything, or if it only # calls `super` with the same arguments given to it. If the initializer takes # an argument that accepts multiple values (`restarg`, `kwrestarg`, etc.) it # will not register an offense, because it allows the initializer to take a different # number of arguments as its superclass potentially does. # # NOTE: If an initializer argument has a default value, RuboCop assumes it # to not be redundant. # # NOTE: Empty initializers are registered as offenses, but it is possible # to purposely create an empty `initialize` method to override a superclass’s # initializer. # # @example # # bad # def initialize # end # # # bad # def initialize # super # end # # # bad # def initialize(a, b) # super # end # # # bad # def initialize(a, b) # super(a, b) # end # # # good # def initialize # do_something # end # # # good # def initialize # do_something # super # end # # # good (different number of parameters) # def initialize(a, b) # super(a) # end # # # good (default value) # def initialize(a, b = 5) # super # end # # # good (default value) # def initialize(a, b: 5) # super # end # # # good (changes the parameter requirements) # def initialize(*) # end # # # good (changes the parameter requirements) # def initialize(**) # end # # # good (changes the parameter requirements) # def initialize(…) # end # @example AllowComments: true (default) # # # good # def initialize # # Overriding to negate superclass ‘initialize` method. # end # @example AllowComments: false # # # bad # def initialize # # Overriding to negate superclass `initialize` method. # end # # source://rubocop//lib/rubocop/cop/style/redundant_initialize.rb#97 class RuboCop::Cop::Style::RedundantInitialize < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CommentsHelp
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_initialize.rb#106
def initialize_forwards?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_initialize.rb#110
def on_def(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_initialize.rb#134
def acceptable?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_initialize.rb#142
def allow_comments?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_initialize.rb#138
def forwards?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_initialize.rb#128
def register_offense(node, message); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_initialize.rb#148
def same_args?(super_node, args); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_initialize.rb#102 RuboCop::Cop::Style::RedundantInitialize::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_initialize.rb#103 RuboCop::Cop::Style::RedundantInitialize::MSG_EMPTY = T.let(T.unsafe(nil), String)

# Checks for strings that are just an interpolated expression. # # @example # # # bad # “#{@var}” # # # good # @var.to_s # # # good if @var is already a String # @var # # source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#39 class RuboCop::Cop::Style::RedundantInterpolation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::PercentLiteral
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#49
def on_dstr(node); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#122
def autocorrect_other(corrector, embedded_node, node); end

# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#105
def autocorrect_single_variable_interpolation(corrector, embedded_node, node); end

# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#99
def autocorrect_variable_interpolation(corrector, embedded_node, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#95
def embedded_in_percent_array?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#91
def implicit_concatenation?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#83
def interpolation?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#132
def require_parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#67
def single_interpolation?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#74
def single_variable_interpolation?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#87
def variable_interpolation?(node); end

class << self
  # source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#45
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/redundant_interpolation.rb#43 RuboCop::Cop::Style::RedundantInterpolation::MSG = T.let(T.unsafe(nil), String)

# Check for redundant line continuation. # # This cop marks a line continuation as redundant if removing the backslash # does not result in a syntax error. # However, a backslash at the end of a comment or # for string concatenation is not redundant and is not considered an offense. # # @example # # bad # foo. \ # bar # foo \ # &.bar \ # .baz # # # good # foo. # bar # foo # &.bar # .baz # # # bad # [foo, \ # bar] # {foo: \ # bar} # # # good # [foo, # bar] # {foo: # bar} # # # bad # foo(bar, \ # baz) # # # good # foo(bar, # baz) # # # also good - backslash in string concatenation is not redundant # foo(‘bar’ \ # ‘baz’) # # # also good - backslash at the end of a comment is not redundant # foo(bar, # \ # baz) # # # also good - backslash at the line following the newline begins with a + or -, # # it is not redundant # 1 \ # + 2 \ # - 3 # # # also good - backslash with newline between the method name and its arguments, # # it is not redundant. # some_method \ # (argument) # # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#67 class RuboCop::Cop::Style::RedundantLineContinuation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::MatchRange
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#78
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#180
def argument_is_method?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#144
def argument_newline?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#101
def ends_with_backslash_without_comment?(source_line); end

# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#160
def find_node_for_line(line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#131
def inside_string_literal?(range, token); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#109
def inside_string_literal_or_method_with_argument?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#117
def leading_dot_method_chain_with_blank_line?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#187
def method_call_with_arguments?(node); end

# A method call without parentheses such as the following cannot remove `\`:
#
#   do_something \
#     argument
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#139
def method_with_argument?(current_token, next_token); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#123
def redundant_line_continuation?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#93
def require_line_continuation?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#166
def same_line?(node, line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#191
def start_with_arithmetic_operator?(source_line); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#105
def string_concatenation?(source_line); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#72 RuboCop::Cop::Style::RedundantLineContinuation::ALLOWED_STRING_TOKENS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#73 RuboCop::Cop::Style::RedundantLineContinuation::ARGUMENT_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#71 RuboCop::Cop::Style::RedundantLineContinuation::MSG = T.let(T.unsafe(nil), String)

# Checks for redundant parentheses. # # @example # # # bad # (x) if ((y.z).nil?) # # # good # x if y.z.nil? # # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#16 class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Parentheses
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#32
def allowed_pin_operator?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#35
def arg_in_call_with_block?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#269
def first_send_argument?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#274
def first_super_argument?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#279
def first_yield_argument?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#175
def interpolation?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#26
def method_node_and_args(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#37
def on_begin(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#29
def rescue?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#23
def square_brackets?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#177
def allow_in_multiline_conditions?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#68
def allowed_ancestor?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#60
def allowed_expression?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#73
def allowed_method_call?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#78
def allowed_multiple_expression?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#87
def allowed_ternary?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#283
def call_chain_starts_with_int?(begin_node, send_node); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#136
def check(begin_node); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#184
def check_send(begin_node, node); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#193
def check_unary(begin_node, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#217
def disallowed_literal?(begin_node, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#114
def empty_parentheses?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#147
def find_offense_message(begin_node, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#119
def first_arg_begins_with_hash_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#258
def first_argument?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#53
def ignore_syntax?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#213
def keyword_ancestor?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#232
def keyword_with_redundant_parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#100
def like_method_argument_parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#245
def method_call_with_redundant_parentheses?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#128
def method_chain_begins_with_hash_literal(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#107
def multiline_control_flow_statements?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#203
def offense(node, msg); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#254
def only_begin_arg?(args); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#45
def parens_allowed?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#221
def raised_to_power_negative_numeric?(begin_node, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#209
def suspect_unary?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#93
def ternary_parentheses_required?; end

end

# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#20 RuboCop::Cop::Style::RedundantParentheses::ALLOWED_NODE_TYPES = T.let(T.unsafe(nil), Array)

# Checks for usage of the %q/%Q syntax when ” or “” would do. # # @example # # # bad # name = %q(Bruce Wayne) # time = %q(8 o’clock) # question = %q(“What did you say?”) # # # good # name = ‘Bruce Wayne’ # time = “8 o’clock” # question = ‘“What did you say?”’ # # source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#20 class RuboCop::Cop::Style::RedundantPercentQ < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#34
def on_dstr(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#40
def on_str(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#99
def acceptable_capital_q?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#91
def acceptable_q?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#67
def allowed_percent_q?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#51
def check(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#63
def interpolated_quotes?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#72
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#87
def start_with_percent_q_variant?(string); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#82
def string_literal?(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#25 RuboCop::Cop::Style::RedundantPercentQ::DYNAMIC_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#28 RuboCop::Cop::Style::RedundantPercentQ::EMPTY = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#32 RuboCop::Cop::Style::RedundantPercentQ::ESCAPED_NON_BACKSLASH = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#23 RuboCop::Cop::Style::RedundantPercentQ::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#30 RuboCop::Cop::Style::RedundantPercentQ::PERCENT_CAPITAL_Q = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#29 RuboCop::Cop::Style::RedundantPercentQ::PERCENT_Q = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#27 RuboCop::Cop::Style::RedundantPercentQ::QUOTE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#26 RuboCop::Cop::Style::RedundantPercentQ::SINGLE_QUOTE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#31 RuboCop::Cop::Style::RedundantPercentQ::STRING_INTERPOLATION_REGEXP = T.let(T.unsafe(nil), Regexp)

# Identifies places where argument can be replaced from # a deterministic regexp to a string. # # @example # # bad # ‘foo’.byteindex(/f/) # ‘foo’.byterindex(/f/) # ‘foo’.gsub(/f/, ‘x’) # ‘foo’.gsub!(/f/, ‘x’) # ‘foo’.partition(/f/) # ‘foo’.rpartition(/f/) # ‘foo’.scan(/f/) # ‘foo’.split(/f/) # ‘foo’.start_with?(/f/) # ‘foo’.sub(/f/, ‘x’) # ‘foo’.sub!(/f/, ‘x’) # # # good # ‘foo’.byteindex(‘f’) # ‘foo’.byterindex(‘f’) # ‘foo’.gsub(‘f’, ‘x’) # ‘foo’.gsub!(‘f’, ‘x’) # ‘foo’.partition(‘f’) # ‘foo’.rpartition(‘f’) # ‘foo’.scan(‘f’) # ‘foo’.split(‘f’) # ‘foo’.start_with?(‘f’) # ‘foo’.sub(‘f’, ‘x’) # ‘foo’.sub!(‘f’, ‘x’) # # source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#35 class RuboCop::Cop::Style::RedundantRegexpArgument < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#47
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#47
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#64
def determinist_regexp?(regexp_node); end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#68
def preferred_argument(regexp_node); end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#81
def replacement(regexp_node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#42 RuboCop::Cop::Style::RedundantRegexpArgument::DETERMINISTIC_REGEX = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#38 RuboCop::Cop::Style::RedundantRegexpArgument::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#39 RuboCop::Cop::Style::RedundantRegexpArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#43 RuboCop::Cop::Style::RedundantRegexpArgument::STR_SPECIAL_CHARS = T.let(T.unsafe(nil), Array)

# Checks for unnecessary single-element Regexp character classes. # # @example # # # bad # r = /[x]/ # # # good # r = /x/ # # # bad # r = /[s]/ # # # good # r = /s/ # # # bad # r = %r{/[b]} # # # good # r = %r{/b} # # # good # r = /[ab]/ # # source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#30 class RuboCop::Cop::Style::RedundantRegexpCharacterClass < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#37
def on_regexp(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#101
def backslash_b?(elem); end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#53
def each_redundant_character_class(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#61
def each_single_element_character_class(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#83
def multiple_codepoints?(expression); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#107
def octal_requiring_char_class?(elem); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#72
def redundant_single_element_character_class?(node, char_class); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#113
def requires_escape_outside_char_class?(elem); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#95
def whitespace_in_free_space_mode?(node, elem); end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#87
def without_character_class(loc); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#34 RuboCop::Cop::Style::RedundantRegexpCharacterClass::MSG_REDUNDANT_CHARACTER_CLASS = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_character_class.rb#33 RuboCop::Cop::Style::RedundantRegexpCharacterClass::REQUIRES_ESCAPE_OUTSIDE_CHAR_CLASS_CHARS = T.let(T.unsafe(nil), Array)

# Checks for the instantiation of regexp using redundant ‘Regexp.new` or `Regexp.compile`. # Autocorrect replaces to regexp literal which is the simplest and fastest. # # @example # # # bad # Regexp.new(/regexp/) # Regexp.compile(/regexp/) # # # good # /regexp/ # Regexp.new(’regexp’) # Regexp.compile(‘regexp’) # # source://rubocop//lib/rubocop/cop/style/redundant_regexp_constructor.rb#20 class RuboCop::Cop::Style::RedundantRegexpConstructor < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_constructor.rb#33
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_constructor.rb#27
def redundant_regexp_constructor(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_constructor.rb#23 RuboCop::Cop::Style::RedundantRegexpConstructor::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_constructor.rb#24 RuboCop::Cop::Style::RedundantRegexpConstructor::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for redundant escapes inside Regexp literals. # # @example # # bad # %r{foo/bar} # # # good # %r{foo/bar} # # # good # /foo/bar/ # # # good # %r/foo/bar/ # # # good # %r!foo!bar! # # # bad # /a-b/ # # # good # /a-b/ # # # bad # /[+-]d/ # # # good # /[+-]d/ # # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#35 class RuboCop::Cop::Style::RedundantRegexpEscape < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#45
def on_regexp(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#60
def allowed_escape?(node, char, index, within_character_class); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#76
def char_class_begins_or_ends_with_escaped_hyphen?(node, index); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#92
def delimiter?(node, char); end

# Please remove this `else` branch when support for regexp_parser 1.8 will be dropped.
# It's for compatibility with regexp_parser 1.8 and will never be maintained.
#
# source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#99
def each_escape(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#126
def escape_range_at_index(node, index); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#41 RuboCop::Cop::Style::RedundantRegexpEscape::ALLOWED_ALWAYS_ESCAPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#43 RuboCop::Cop::Style::RedundantRegexpEscape::ALLOWED_OUTSIDE_CHAR_CLASS_METACHAR_ESCAPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#42 RuboCop::Cop::Style::RedundantRegexpEscape::ALLOWED_WITHIN_CHAR_CLASS_METACHAR_ESCAPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#39 RuboCop::Cop::Style::RedundantRegexpEscape::MSG_REDUNDANT_ESCAPE = T.let(T.unsafe(nil), String)

# Checks for redundant ‘return` expressions. # # @example # # These bad cases should be extended to handle methods whose body is # # if/else or a case expression with a default branch. # # # bad # def test # return something # end # # # bad # def test # one # two # three # return something # end # # # bad # def test # return something if something_else # end # # # good # def test # something if something_else # end # # # good # def test # if x # elsif y # else # end # end # @example AllowMultipleReturnValues: false (default) # # bad # def test # return x, y # end # @example AllowMultipleReturnValues: true # # good # def test # return x, y # end # # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#55 class RuboCop::Cop::Style::RedundantReturn < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#69
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#69
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#63
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#104
def add_braces(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#99
def add_brackets(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#175
def allow_multiple_return_values?; end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#170
def check_begin_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#110
def check_branch(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#144
def check_case_match_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#139
def check_case_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#165
def check_ensure_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#149
def check_if_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#161
def check_resbody_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#156
def check_rescue_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#127
def check_return_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#80
def correct_with_arguments(return_node, corrector); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#76
def correct_without_arguments(return_node, corrector); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#95
def hash_without_braces?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#179
def message(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#59 RuboCop::Cop::Style::RedundantReturn::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#60 RuboCop::Cop::Style::RedundantReturn::MULTI_RETURN_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#61 RuboCop::Cop::Style::RedundantReturn::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for redundant uses of ‘self`. # # The usage of `self` is only needed when: # # * Sending a message to same object with zero arguments in # presence of a method name clash with an argument or a local # variable. # # * Calling an attribute writer to prevent a local variable assignment. # # Note, with using explicit self you can only send messages with public or # protected scope, you cannot send private messages this way. # # Note we allow uses of `self` with operators because it would be awkward # otherwise. Also allows the use of `self.it` without arguments in blocks, # as in `0.times { self.it }`, following `Lint/ItWithoutArgumentsInBlock` cop. # # @example # # # bad # def foo(bar) # self.baz # end # # # good # def foo(bar) # self.bar # Resolves name clash with the argument. # end # # def foo # bar = 1 # self.bar # Resolves name clash with the local variable. # end # # def foo # %w[x y z].select do |bar| # self.bar == bar # Resolves name clash with argument of the block. # end # end # # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#45 class RuboCop::Cop::Style::RedundantSelf < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# @return [RedundantSelf] a new instance of RedundantSelf
#
# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#60
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end

# Assignment of self.x
#
# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#68
def on_and_asgn(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#86
def on_args(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#120
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#90
def on_blockarg(node); end

# Using self.x to distinguish from local variable x
#
# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#81
def on_def(node); end

# Using self.x to distinguish from local variable x
#
# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#81
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#126
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#104
def on_in_pattern(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#99
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#94
def on_masgn(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#120
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#74
def on_op_asgn(node); end

# Assignment of self.x
#
# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#68
def on_or_asgn(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#108
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#126
def on_until(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#126
def on_while(node); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#196
def add_lhs_to_local_variables_scopes(rhs, lhs); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#204
def add_masgn_lhs_variables(rhs, lhs); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#210
def add_match_var_scopes(in_pattern_node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#144
def add_scope(node, local_variables = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#190
def allow_self(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#150
def allowed_send_node?(node); end

# Respects `Lint/ItWithoutArgumentsInBlock` cop and the following Ruby 3.3's warning:
#
# $ ruby -e '0.times { begin; it; end }'
# -e:1: warning: `it` calls without arguments will refer to the first block param in
# Ruby 3.4; use it() or self.it
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#165
def it_method_in_block?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#181
def on_argument(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#173
def regular_method_call?(node); end

class << self
  # source://rubocop-rails/2.24.1/lib/rubocop-rails.rb#38
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#49 RuboCop::Cop::Style::RedundantSelf::KERNEL_METHODS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#50 RuboCop::Cop::Style::RedundantSelf::KEYWORDS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#48 RuboCop::Cop::Style::RedundantSelf::MSG = T.let(T.unsafe(nil), String)

# Checks for places where redundant assignments are made for in place # modification methods. # # @example # # bad # args = args.concat(ary) # hash = hash.merge!(other) # # # good # args.concat(foo) # args += foo # hash.merge!(other) # # # bad # self.foo = foo.concat(ary) # # # good # foo.concat(ary) # self.foo += ary # # source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#31 class RuboCop::Cop::Style::RedundantSelfAssignment < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#52
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#52
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#52
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#52
def on_lvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#69
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#96
def redundant_nonself_assignment?(param0 = T.unsafe(nil), param1, param2); end

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#86
def redundant_self_assignment?(param0 = T.unsafe(nil), param1); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#112
def correction_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#81
def method_returning_self?(method_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#105
def redundant_assignment?(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#45 RuboCop::Cop::Style::RedundantSelfAssignment::ASSIGNMENT_TYPE_TO_RECEIVER_TYPE = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#38 RuboCop::Cop::Style::RedundantSelfAssignment::METHODS_RETURNING_SELF = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment.rb#35 RuboCop::Cop::Style::RedundantSelfAssignment::MSG = T.let(T.unsafe(nil), String)

# Checks for places where conditional branch makes redundant self-assignment. # # It only detects local variable because it may replace state of instance variable, # class variable, and global variable that have state across methods with ‘nil`. # # @example # # # bad # foo = condition ? bar : foo # # # good # foo = bar if condition # # # bad # foo = condition ? foo : bar # # # good # foo = bar unless condition # # source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#25 class RuboCop::Cop::Style::RedundantSelfAssignmentBranch < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#32
def bad_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#36
def on_lvasgn(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#59
def inconvertible_to_modifier?(if_branch, else_branch); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#64
def multiple_statements?(branch); end

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#74
def register_offense(if_node, offense_branch, opposite_branch, keyword); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#70
def self_assign?(variable, branch); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#53
def use_if_and_else_branch?(expression); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#29 RuboCop::Cop::Style::RedundantSelfAssignmentBranch::MSG = T.let(T.unsafe(nil), String)

# Identifies instances of sorting and then # taking only the first or last element. The same behavior can # be accomplished without a relatively expensive sort by using # ‘Enumerable#min` instead of sorting and taking the first # element and `Enumerable#max` instead of sorting and taking the # last element. Similarly, `Enumerable#min_by` and # `Enumerable#max_by` can replace `Enumerable#sort_by` calls # after which only the first or last element is used. # # @example # # bad # [2, 1, 3].sort.first # [2, 1, 3].sort # [2, 1, 3].sort.at(0) # [2, 1, 3].sort.slice(0) # # # good # [2, 1, 3].min # # # bad # [2, 1, 3].sort.last # [2, 1, 3].sort # [2, 1, 3].sort.at(-1) # [2, 1, 3].sort.slice(-1) # # # good # [2, 1, 3].max # # # bad # arr.sort_by(&:foo).first # arr.sort_by(&:foo) # arr.sort_by(&:foo).at(0) # arr.sort_by(&:foo).slice(0) # # # good # arr.min_by(&:foo) # # # bad # arr.sort_by(&:foo).last # arr.sort_by(&:foo) # arr.sort_by(&:foo).at(-1) # arr.sort_by(&:foo).slice(-1) # # # good # arr.max_by(&:foo) # # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#79 class RuboCop::Cop::Style::RedundantSort < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#104
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#104
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#88
def redundant_sort?(param0 = T.unsafe(nil)); end

private

# This gets the start of the accessor whether it has a dot
# (e.g. `.first`) or doesn't (e.g. `[0]`)
#
# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#193
def accessor_start(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#183
def arg_node(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#187
def arg_value(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#148
def autocorrect(corrector, node, sort_node, sorter, accessor); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#166
def base(accessor, arg); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#115
def find_redundant_sort(*nodes); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#136
def message(node, sorter, accessor); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#132
def offense_range(sort_node, node); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#125
def register_offense(node, sort_node, sorter, accessor); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#157
def replace_with_logical_operator(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#174
def suffix(sorter); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#162
def suggestion(sorter, accessor, arg); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#201
def with_logical_operator?(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#83 RuboCop::Cop::Style::RedundantSort::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#85 RuboCop::Cop::Style::RedundantSort::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Identifies places where ‘sort_by { … }` can be replaced by # `sort`. # # @example # # bad # array.sort_by { |x| x } # array.sort_by do |var| # var # end # # # good # array.sort # # source://rubocop//lib/rubocop/cop/style/redundant_sort_by.rb#18 class RuboCop::Cop::Style::RedundantSortBy < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_sort_by.rb#25
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort_by.rb#35
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort_by.rb#48
def redundant_sort_by_block(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/redundant_sort_by.rb#53
def redundant_sort_by_numblock(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/redundant_sort_by.rb#57
def sort_by_range(send, node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_sort_by.rb#22 RuboCop::Cop::Style::RedundantSortBy::MSG_BLOCK = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/redundant_sort_by.rb#23 RuboCop::Cop::Style::RedundantSortBy::MSG_NUMBLOCK = T.let(T.unsafe(nil), String)

# Checks for redundant escapes in string literals. # # @example # # bad - no need to escape # without following {/$/@ # “#foo” # # # bad - no need to escape single quotes inside double quoted string # “'foo'” # # # bad - heredocs are also checked for unnecessary escapes # <<~STR # #foo "foo" # STR # # # good # “#foo” # # # good # “#{no_interpolation}” # # # good # “‘foo’” # # # good # “foo\ # bar” # # # good # <<~STR # foo “foo” # STR # # source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#37 class RuboCop::Cop::Style::RedundantStringEscape < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::MatchRange
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#43
def on_str(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#79
def allowed_escape?(node, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#119
def array_literal?(node, prefix); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#73
def begin_loc_present?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#153
def delimiter?(node, char); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#171
def disabling_interpolation?(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#149
def heredoc?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#139
def heredoc_with_disabled_interpolation?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#100
def interpolation_not_enabled?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#167
def literal_in_interpolated_or_multiline_string?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#59
def message(range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#135
def percent_array_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#111
def percent_q_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#127
def percent_w_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#131
def percent_w_upper_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#107
def single_quoted?(node); end

# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#63
def str_contents_range(node); end

end

# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#41 RuboCop::Cop::Style::RedundantStringEscape::MSG = T.let(T.unsafe(nil), String)

# Enforces using ‘//` or `%r` around regular expressions. # # NOTE: The following `%r` cases using a regexp starts with a blank or `=` # as a method argument allowed to prevent syntax errors. # # [source,ruby] # —- # do_something %r{ regexp} # `do_something / regexp/` is an invalid syntax. # do_something %r{=regexp} # `do_something /=regexp/` is an invalid syntax. # —- # # @example EnforcedStyle: slashes (default) # # bad # snake_case = %r{^[dA-Z_]+$} # # # bad # regex = %r{ # foo # (bar) # (baz) # }x # # # good # snake_case = /^[dA-Z_]+$/ # # # good # regex = / # foo # (bar) # (baz) # /x # @example EnforcedStyle: percent_r # # bad # snake_case = /^[dA-Z_]+$/ # # # bad # regex = / # foo # (bar) # (baz) # /x # # # good # snake_case = %r{^[dA-Z_]+$} # # # good # regex = %r{ # foo # (bar) # (baz) # }x # @example EnforcedStyle: mixed # # bad # snake_case = %r{^[dA-Z_]+$} # # # bad # regex = / # foo # (bar) # (baz) # /x # # # good # snake_case = /^[dA-Z_]+$/ # # # good # regex = %r{ # foo # (bar) # (baz) # }x # @example AllowInnerSlashes: false (default) # # If `false`, the cop will always recommend using `%r` if one or more # # slashes are found in the regexp string. # # # bad # x =~ /home// # # # good # x =~ %r{home/} # @example AllowInnerSlashes: true # # good # x =~ /home// # # source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#93 class RuboCop::Cop::Style::RegexpLiteral < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#101
def on_regexp(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#144
def allow_inner_slashes?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#132
def allowed_mixed_percent_r?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#122
def allowed_mixed_slash?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#161
def allowed_omit_parentheses_with_percent_r_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#126
def allowed_percent_r_literal?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#118
def allowed_slash_literal?(node); end

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#221
def calculate_replacement(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#136
def contains_disallowed_slash?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#140
def contains_slash?(node); end

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#170
def correct_delimiters(node, corrector); end

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#176
def correct_inner_slashes(node, corrector); end

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#209
def inner_slash_after_correction(node); end

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#205
def inner_slash_before_correction(node); end

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#213
def inner_slash_for(opening_delimiter); end

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#192
def inner_slash_indices(node); end

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#148
def node_body(node, include_begin_nodes: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#157
def preferred_delimiters; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#153
def slash_literal?(node); end

end

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#99 RuboCop::Cop::Style::RegexpLiteral::MSG_USE_PERCENT_R = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/regexp_literal.rb#98 RuboCop::Cop::Style::RegexpLiteral::MSG_USE_SLASHES = T.let(T.unsafe(nil), String)

# Sort ‘require` and `require_relative` in alphabetical order. # # @example # # bad # require ’b’ # require ‘a’ # # # good # require ‘a’ # require ‘b’ # # # bad # require_relative ‘b’ # require_relative ‘a’ # # # good # require_relative ‘a’ # require_relative ‘b’ # # # good (sorted within each section separated by a blank line) # require ‘a’ # require ‘d’ # # require ‘b’ # require ‘c’ # # # good # require ‘b’ # require_relative ‘c’ # require ‘a’ # # # bad # require ‘a’ # require ‘c’ if foo # require ‘b’ # # # good # require ‘a’ # require ‘b’ # require ‘c’ if foo # # # bad # require ‘c’ # if foo # require ‘d’ # require ‘b’ # end # require ‘a’ # # # good # require ‘c’ # if foo # require ‘b’ # require ‘d’ # end # require ‘a’ # # source://rubocop//lib/rubocop/cop/style/require_order.rb#66 class RuboCop::Cop::Style::RequireOrder < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/require_order.rb#76
def if_inside_only_require(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/require_order.rb#83
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/require_order.rb#115
def autocorrect(corrector, node, previous_older_sibling); end

# source://rubocop//lib/rubocop/cop/style/require_order.rb#101
def find_previous_older_sibling(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/require_order.rb#133
def in_same_section?(node1, node2); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/require_order.rb#97
def not_modifier_form?(node); end

# source://rubocop//lib/rubocop/cop/style/require_order.rb#123
def search_node(node); end

# source://rubocop//lib/rubocop/cop/style/require_order.rb#127
def sibling_node(node); end

end

# source://rubocop//lib/rubocop/cop/style/require_order.rb#73 RuboCop::Cop::Style::RequireOrder::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/require_order.rb#71 RuboCop::Cop::Style::RequireOrder::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for uses of ‘rescue` in its modifier form is added for following # reasons: # # * The syntax of modifier form `rescue` can be misleading because it # might lead us to believe that `rescue` handles the given exception # but it actually rescue all exceptions to return the given rescue # block. In this case, value returned by handle_error or # SomeException. # # * Modifier form `rescue` would rescue all the exceptions. It would # silently skip all exception or errors and handle the error. # Example: If `NoMethodError` is raised, modifier form rescue would # handle the exception. # # @example # # bad # some_method rescue handle_error # # # bad # some_method rescue SomeException # # # good # begin # some_method # rescue # handle_error # end # # # good # begin # some_method # rescue SomeException # handle_error # end # # source://rubocop//lib/rubocop/cop/style/rescue_modifier.rb#40 class RuboCop::Cop::Style::RescueModifier < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::RescueNode
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/rescue_modifier.rb#52
def on_resbody(node); end

private

# source://rubocop//lib/rubocop/cop/style/rescue_modifier.rb#70
def correct_rescue_block(corrector, node, parenthesized); end

# source://rubocop//lib/rubocop/cop/style/rescue_modifier.rb#86
def indentation_and_offset(node, parenthesized); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/rescue_modifier.rb#66
def parenthesized?(node); end

class << self
  # source://rubocop//lib/rubocop/cop/style/rescue_modifier.rb#48
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/rescue_modifier.rb#46 RuboCop::Cop::Style::RescueModifier::MSG = T.let(T.unsafe(nil), String)

# Checks for rescuing ‘StandardError`. There are two supported # styles `implicit` and `explicit`. This cop will not register an offense # if any error other than `StandardError` is specified. # # @example EnforcedStyle: explicit (default) # # `explicit` will enforce using `rescue StandardError` # # instead of `rescue`. # # # bad # begin # foo # rescue # bar # end # # # good # begin # foo # rescue StandardError # bar # end # # # good # begin # foo # rescue OtherError # bar # end # # # good # begin # foo # rescue StandardError, SecurityError # bar # end # @example EnforcedStyle: implicit # # `implicit` will enforce using `rescue` instead of # # `rescue StandardError`. # # # bad # begin # foo # rescue StandardError # bar # end # # # good # begin # foo # rescue # bar # end # # # good # begin # foo # rescue OtherError # bar # end # # # good # begin # foo # rescue StandardError, SecurityError # bar # end # # source://rubocop//lib/rubocop/cop/style/rescue_standard_error.rb#73 class RuboCop::Cop::Style::RescueStandardError < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RescueNode
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/rescue_standard_error.rb#92
def on_resbody(node); end

# source://rubocop//lib/rubocop/cop/style/rescue_standard_error.rb#88
def rescue_standard_error?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/rescue_standard_error.rb#83
def rescue_without_error_class?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/rescue_standard_error.rb#118
def offense_for_explicit_enforced_style(node); end

# source://rubocop//lib/rubocop/cop/style/rescue_standard_error.rb#107
def offense_for_implicit_enforced_style(node, error); end

end

# source://rubocop//lib/rubocop/cop/style/rescue_standard_error.rb#80 RuboCop::Cop::Style::RescueStandardError::MSG_EXPLICIT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/rescue_standard_error.rb#79 RuboCop::Cop::Style::RescueStandardError::MSG_IMPLICIT = T.let(T.unsafe(nil), String)

# Enforces consistency between ‘return nil` and `return`. # # This cop is disabled by default. Because there seems to be a perceived semantic difference # between `return` and `return nil`. The former can be seen as just halting evaluation, # while the latter might be used when the return value is of specific concern. # # Supported styles are `return` and `return_nil`. # # @example EnforcedStyle: return (default) # # bad # def foo(arg) # return nil if arg # end # # # good # def foo(arg) # return if arg # end # @example EnforcedStyle: return_nil # # bad # def foo(arg) # return if arg # end # # # good # def foo(arg) # return nil if arg # end # # source://rubocop//lib/rubocop/cop/style/return_nil.rb#35 class RuboCop::Cop::Style::ReturnNil < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/return_nil.rb#90
def chained_send?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/return_nil.rb#93
def define_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/return_nil.rb#48
def on_return(node); end

# source://rubocop//lib/rubocop/cop/style/return_nil.rb#46
def return_nil_node?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/return_nil.rb#43
def return_node?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/return_nil.rb#80
def correct_style?(node); end

# source://rubocop//lib/rubocop/cop/style/return_nil.rb#76
def message(_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/return_nil.rb#85
def scoped_node?(node); end

end

# source://rubocop//lib/rubocop/cop/style/return_nil.rb#39 RuboCop::Cop::Style::ReturnNil::RETURN_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/return_nil.rb#40 RuboCop::Cop::Style::ReturnNil::RETURN_NIL_MSG = T.let(T.unsafe(nil), String)

# Checks if ‘return` or `return nil` is used in predicate method definitions. # # @example # # bad # def foo? # return if condition # # do_something? # end # # # bad # def foo? # return nil if condition # # do_something? # end # # # good # def foo? # return false if condition # # do_something? # end # @example AllowedMethods: [’foo?‘] # # good # def foo? # return if condition # # do_something? # end # @example AllowedPatterns: [/foo/] # # good # def foo? # return if condition # # do_something? # end # # source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#50 class RuboCop::Cop::Style::ReturnNilInPredicateMethodDefinition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#62
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#62
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#58
def return_nil?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#79
def nil_node_at_the_end_of_method_body(body); end

# source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#87
def register_offense(offense_node, replacement); end

end

# source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#55 RuboCop::Cop::Style::ReturnNilInPredicateMethodDefinition::MSG = T.let(T.unsafe(nil), String)

# Transforms usages of a method call safeguarded by a non ‘nil` # check for the variable whose method is being called to # safe navigation (`&.`). If there is a method chain, all of the methods # in the chain need to be checked for safety, and all of the methods will # need to be changed to use safe navigation. # # The default for `ConvertCodeThatCanStartToReturnNil` is `false`. # When configured to `true`, this will # check for code in the format `!foo.nil? && foo.bar`. As it is written, # the return of this code is limited to `false` and whatever the return # of the method is. If this is converted to safe navigation, # `foo&.bar` can start returning `nil` as well as what the method # returns. # # The default for `MaxChainLength` is `2` # We have limited the cop to not register an offense for method chains # that exceed this option is set. # # @example # # bad # foo.bar if foo # foo.bar.baz if foo # foo.bar(param1, param2) if foo # foo.bar { |e| e.something } if foo # foo.bar(param) { |e| e.something } if foo # # foo.bar if !foo.nil? # foo.bar unless !foo # foo.bar unless foo.nil? # # foo && foo.bar # foo && foo.bar.baz # foo && foo.bar(param1, param2) # foo && foo.bar { |e| e.something } # foo && foo.bar(param) { |e| e.something } # # foo ? foo.bar : nil # foo.nil? ? nil : foo.bar # !foo.nil? ? foo.bar : nil # !foo ? nil : foo.bar # # # good # foo&.bar # foo&.bar&.baz # foo&.bar(param1, param2) # foo&.bar { |e| e.something } # foo&.bar(param) { |e| e.something } # foo && foo.bar.baz.qux # method chain with more than 2 methods # foo && foo.nil? # method that `nil` responds to # # # Method calls that do not use `.` # foo && foo < bar # foo < bar if foo # # # When checking `foo&.empty?` in a conditional, `foo` being `nil` will actually # # do the opposite of what the author intends. # foo && foo.empty? # # # This could start returning `nil` as well as the return of the method # foo.nil? || foo.bar # !foo || foo.bar # # # Methods that are used on assignment, arithmetic operation or # # comparison should not be converted to use safe navigation # foo.baz = bar if foo # foo.baz + bar if foo # foo.bar > 2 if foo # # source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#84 class RuboCop::Cop::Style::SafeNavigation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::NilMethods
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# if format: (if checked_variable body nil)
# unless format: (if checked_variable nil body)
#
# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#99
def modifier_if_safe_navigation_candidate(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#125
def not_nil_check?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#133
def on_and(node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#127
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#114
def ternary_safe_navigation_candidate(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#307
def add_safe_nav_to_all_methods_in_chain(corrector, start_method, method_chain); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#200
def allowed_if_condition?(node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#154
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#299
def begin_range(node, method_call); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#261
def chain_length(method_chain, method); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#139
def check_node(node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#181
def comments(node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#303
def end_range(node, method_call); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#166
def extract_body(node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#243
def extract_common_parts(method_chain, checked_variable); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#209
def extract_parts(node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#233
def extract_parts_from_and(node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#218
def extract_parts_from_if(node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#251
def find_matching_receiver_invocation(method_chain, checked_variable); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#174
def handle_comments(corrector, node, method_call); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#320
def max_chain_length; end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#204
def method_call(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#295
def method_called?(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#287
def negated?(send_node); end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#187
def relevant_comment_ranges(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#281
def unsafe_method?(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#269
def unsafe_method_used?(method_chain, method); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#150
def use_var_only_in_unless_modifier?(node, variable); end

end

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#92 RuboCop::Cop::Style::SafeNavigation::LOGIC_JUMP_KEYWORDS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/safe_navigation.rb#90 RuboCop::Cop::Style::SafeNavigation::MSG = T.let(T.unsafe(nil), String)

# Identifies usages of ‘shuffle.first`, # `shuffle.last`, and `shuffle[]` and change them to use # `sample` instead. # # @example # # bad # [1, 2, 3].shuffle.first # [1, 2, 3].shuffle.first(2) # [1, 2, 3].shuffle.last # [2, 1, 3].shuffle.at(0) # [2, 1, 3].shuffle.slice(0) # [1, 2, 3].shuffle # [1, 2, 3].shuffle[0, 2] # sample(2) will do the same # [1, 2, 3].shuffle # sample(3) will do the same # [1, 2, 3].shuffle(random: Random.new).first # # # good # [1, 2, 3].shuffle # [1, 2, 3].sample # [1, 2, 3].sample(3) # [1, 2, 3].shuffle[1, 3] # sample(3) might return a longer Array # [1, 2, 3].shuffle # sample(3) might return a longer Array # [1, 2, 3].shuffle[foo, bar] # [1, 2, 3].shuffle(random: Random.new) # # source://rubocop//lib/rubocop/cop/style/sample.rb#30 class RuboCop::Cop::Style::Sample < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/sample.rb#41
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/sample.rb#41
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/sample.rb#37
def sample_candidate?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/sample.rb#122
def correction(shuffle_arg, method, method_args); end

# source://rubocop//lib/rubocop/cop/style/sample.rb#138
def extract_source(args); end

# source://rubocop//lib/rubocop/cop/style/sample.rb#116
def message(shuffle_arg, method, method_args, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/sample.rb#59
def offensive?(method, method_args); end

# source://rubocop//lib/rubocop/cop/style/sample.rb#96
def range_size(range_node); end

# source://rubocop//lib/rubocop/cop/style/sample.rb#129
def sample_arg(method, method_args); end

# source://rubocop//lib/rubocop/cop/style/sample.rb#70
def sample_size(method_args); end

# source://rubocop//lib/rubocop/cop/style/sample.rb#79
def sample_size_for_one_arg(arg); end

# source://rubocop//lib/rubocop/cop/style/sample.rb#89
def sample_size_for_two_args(first, second); end

# source://rubocop//lib/rubocop/cop/style/sample.rb#112
def source_range(shuffle_node, node); end

end

# source://rubocop//lib/rubocop/cop/style/sample.rb#33 RuboCop::Cop::Style::Sample::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/sample.rb#34 RuboCop::Cop::Style::Sample::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Looks for places where an subset of an Enumerable (array, # range, set, etc.; see note below) is calculated based on a ‘Regexp` # match, and suggests `grep` or `grep_v` instead. # # NOTE: Hashes do not behave as you may expect with `grep`, which # means that `hash.grep` is not equivalent to `hash.select`. Although # RuboCop is limited by static analysis, this cop attempts to avoid # registering an offense when the receiver is a hash (hash literal, # `Hash.new`, `Hash#[]`, or `to_h`/`to_hash`). # # NOTE: `grep` and `grep_v` were optimized when used without a block # in Ruby 3.0, but may be slower in previous versions. # See bugs.ruby-lang.org/issues/17030 # # @example # # bad (select or find_all) # array.select { |x| x.match? /regexp/ } # array.select { |x| /regexp/.match?(x) } # array.select { |x| x =~ /regexp/ } # array.select { |x| /regexp/ =~ x } # # # bad (reject) # array.reject { |x| x.match? /regexp/ } # array.reject { |x| /regexp/.match?(x) } # array.reject { |x| x =~ /regexp/ } # array.reject { |x| /regexp/ =~ x } # # # good # array.grep(regexp) # array.grep_v(regexp) # # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#45 class RuboCop::Cop::Style::SelectByRegexp < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#79
def calls_lvar?(param0 = T.unsafe(nil), param1); end

# Returns true if a node appears to return a hash
#
# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#65
def creates_hash?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#74
def env_const?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#88
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#88
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#56
def regexp_match?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#133
def extract_send_node(block_node); end

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#146
def find_regexp(node, block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#157
def match_predicate_without_receiver?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#142
def opposite?(regexp_method_send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#107
def receiver_allowed?(node); end

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#121
def register_offense(node, block_node, regexp, replacement); end

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#113
def replacement(regexp_method_send_node, node); end

end

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#49 RuboCop::Cop::Style::SelectByRegexp::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#52 RuboCop::Cop::Style::SelectByRegexp::OPPOSITE_REPLACEMENTS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#53 RuboCop::Cop::Style::SelectByRegexp::REGEXP_METHODS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#51 RuboCop::Cop::Style::SelectByRegexp::REPLACEMENTS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#50 RuboCop::Cop::Style::SelectByRegexp::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Enforces the use the shorthand for self-assignment. # # @example # # # bad # x = x + 1 # # # good # x += 1 # # source://rubocop//lib/rubocop/cop/style/self_assignment.rb#15 class RuboCop::Cop::Style::SelfAssignment < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#33
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#29
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#25
def on_lvasgn(node); end

private

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#94
def apply_autocorrect(corrector, node, rhs, operator, new_rhs); end

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#74
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#89
def autocorrect_boolean_node(corrector, node, rhs); end

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#84
def autocorrect_send_node(corrector, node, rhs); end

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#39
def check(node, var_type); end

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#62
def check_boolean_node(node, rhs, var_name, var_type); end

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#50
def check_send_node(node, rhs, var_name, var_type); end

class << self
  # source://rubocop//lib/rubocop/cop/style/self_assignment.rb#21
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#18 RuboCop::Cop::Style::SelfAssignment::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/self_assignment.rb#19 RuboCop::Cop::Style::SelfAssignment::OPS = T.let(T.unsafe(nil), Array)

# Checks for multiple expressions placed on the same line. # It also checks for lines terminated with a semicolon. # # This cop has ‘AllowAsExpressionSeparator` configuration option. # It allows `;` to separate several expressions on the same line. # # @example # # bad # foo = 1; bar = 2; # baz = 3; # # # good # foo = 1 # bar = 2 # baz = 3 # @example AllowAsExpressionSeparator: false (default) # # bad # foo = 1; bar = 2 # @example AllowAsExpressionSeparator: true # # good # foo = 1; bar = 2 # # source://rubocop//lib/rubocop/cop/style/semicolon.rb#29 class RuboCop::Cop::Style::Semicolon < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#45
def on_begin(node); end

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#39
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#64
def check_for_line_terminator_or_opener; end

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#70
def each_semicolon; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/semicolon.rb#106
def exist_semicolon_after_left_curly_brace?(tokens); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/semicolon.rb#110
def exist_semicolon_after_left_lambda_curly_brace?(tokens); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/semicolon.rb#118
def exist_semicolon_after_left_string_interpolation_brace?(tokens); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/semicolon.rb#102
def exist_semicolon_before_right_curly_brace?(tokens); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/semicolon.rb#114
def exist_semicolon_before_right_string_interpolation_brace?(tokens); end

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#142
def expressions_per_line(exprs); end

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#156
def find_range_node(token_before_semicolon); end

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#148
def find_semicolon_positions(line); end

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#162
def range_nodes; end

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#122
def register_semicolon(line, column, after_expression, token_before_semicolon = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#84
def semicolon_position(tokens); end

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#79
def tokens_for_lines; end

class << self
  # source://rubocop//lib/rubocop/cop/style/semicolon.rb#35
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/semicolon.rb#33 RuboCop::Cop::Style::Semicolon::MSG = T.let(T.unsafe(nil), String)

# Checks for the use of the send method. # # @example # # bad # Foo.send(:bar) # quuz.send(:fred) # # # good # Foo.__send__(:bar) # quuz.public_send(:fred) # # source://rubocop//lib/rubocop/cop/style/send.rb#16 class RuboCop::Cop::Style::Send < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/send.rb#20
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/send.rb#20
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/send.rb#17 RuboCop::Cop::Style::Send::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/send.rb#18 RuboCop::Cop::Style::Send::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for uses of ‘fail` and `raise`. # # @example EnforcedStyle: only_raise (default) # # The `only_raise` style enforces the sole use of `raise`. # # bad # begin # fail # rescue Exception # # handle it # end # # def watch_out # fail # rescue Exception # # handle it # end # # Kernel.fail # # # good # begin # raise # rescue Exception # # handle it # end # # def watch_out # raise # rescue Exception # # handle it # end # # Kernel.raise # @example EnforcedStyle: only_fail # # The `only_fail` style enforces the sole use of `fail`. # # bad # begin # raise # rescue Exception # # handle it # end # # def watch_out # raise # rescue Exception # # handle it # end # # Kernel.raise # # # good # begin # fail # rescue Exception # # handle it # end # # def watch_out # fail # rescue Exception # # handle it # end # # Kernel.fail # @example EnforcedStyle: semantic # # The `semantic` style enforces the use of `fail` to signal an # # exception, then will use `raise` to trigger an offense after # # it has been rescued. # # bad # begin # raise # rescue Exception # # handle it # end # # def watch_out # # Error thrown # rescue Exception # fail # end # # Kernel.fail # Kernel.raise # # # good # begin # fail # rescue Exception # # handle it # end # # def watch_out # fail # rescue Exception # raise ’Preferably with descriptive message’ # end # # explicit_receiver.fail # explicit_receiver.raise # # source://rubocop//lib/rubocop/cop/style/signal_exception.rb#107 class RuboCop::Cop::Style::SignalException < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#120
def custom_fail_methods(param0); end

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#117
def kernel_call?(param0 = T.unsafe(nil), param1); end

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#122
def on_rescue(node); end

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#134
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#206
def allow(method_name, node); end

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#188
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#167
def check_scope(method_name, node); end

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#180
def check_send(method_name, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#200
def command_or_kernel_call?(name, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#149
def custom_fail_defined?; end

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#210
def each_command_or_kernel_call(method_name, node); end

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#156
def message(method_name); end

end

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#111 RuboCop::Cop::Style::SignalException::FAIL_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#112 RuboCop::Cop::Style::SignalException::RAISE_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#114 RuboCop::Cop::Style::SignalException::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Sometimes using ‘dig` method ends up with just a single # argument. In such cases, dig should be replaced with `[]`. # # Since replacing `hash&.dig(:key)` with `hash` could potentially lead to error, # calls to the `dig` method using safe navigation will be ignored. # # @example # # bad # { key: ’value’ }.dig(:key) # [1, 2, 3].dig(0) # # # good # key: ‘value’ # [1, 2, 3] # # # good # { key1: { key2: ‘value’ } }.dig(:key1, :key2) # [1, [2, [3]]].dig(1, 1) # # # good # keys = %i[key1 key2] # { key1: { key2: ‘value’ } }.dig(*keys) # # source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#34 class RuboCop::Cop::Style::SingleArgumentDig < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#46
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#42
def single_argument_dig?(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#39 RuboCop::Cop::Style::SingleArgumentDig::IGNORED_ARGUMENT_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#37 RuboCop::Cop::Style::SingleArgumentDig::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#38 RuboCop::Cop::Style::SingleArgumentDig::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks whether the block parameters of a single-line # method accepting a block match the names specified via configuration. # # For instance one can configure ‘reduce`(`inject`) to use |a, e| as # parameters. # # Configuration option: Methods # Should be set to use this cop. Array of hashes, where each key is the # method name and value - array of argument names. # # @example Methods: [{reduce: %w[a b]}] # # bad # foo.reduce { |c, d| c + d } # foo.reduce { |_, _d| 1 } # # # good # foo.reduce { |a, b| a + b } # foo.reduce { |a, _b| a } # foo.reduce { |a, (id, _)| a + id } # foo.reduce { true } # # # good # foo.reduce do |c, d| # c + d # end # # source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#31 class RuboCop::Cop::Style::SingleLineBlockParams < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#36
def on_block(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#105
def args_match?(method_name, args); end

# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#69
def autocorrect(corrector, node, preferred_block_arguments, joined_block_arguments); end

# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#57
def build_preferred_arguments_map(node, preferred_arguments); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#79
def eligible_arguments?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#83
def eligible_method?(node); end

# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#95
def method_name(method); end

# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#91
def method_names; end

# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#87
def methods; end

# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#99
def target_args(method_name); end

end

# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#34 RuboCop::Cop::Style::SingleLineBlockParams::MSG = T.let(T.unsafe(nil), String)

# Checks for single-line ‘do`…`end` block. # # In practice a single line `do`…`end` is autocorrected when `EnforcedStyle: semantic` # in `Style/BlockDelimiters`. The autocorrection maintains the `do` … `end` syntax to # preserve semantics and does not change it to `{`…`}` block. # # @example # # # bad # foo do |arg| bar(arg) end # # # good # foo do |arg| # bar(arg) # end # # # bad # ->(arg) do bar(arg) end # # # good # ->(arg) { bar(arg) } # # source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#28 class RuboCop::Cop::Style::SingleLineDoEndBlock < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#34
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#34
def on_numblock(node); end

private

# source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#55
def do_line(node); end

# source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#63
def x(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#31 RuboCop::Cop::Style::SingleLineDoEndBlock::MSG = T.let(T.unsafe(nil), String)

# Checks for single-line method definitions that contain a body. # It will accept single-line methods with no body. # # Endless methods added in Ruby 3.0 are also accepted by this cop. # # If ‘Style/EndlessMethod` is enabled with `EnforcedStyle: allow_single_line` or # `allow_always`, single-line methods will be autocorrected to endless # methods if there is only one statement in the body. # # @example # # bad # def some_method; body end # def link_to(url); {:name => url}; end # def @table.columns; super; end # # # good # def self.resource_class=(klass); end # def @table.columns; end # def some_method() = body # @example AllowIfMethodIsEmpty: true (default) # # good # def no_op; end # @example AllowIfMethodIsEmpty: false # # bad # def no_op; end # # source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#34 class RuboCop::Cop::Style::SingleLineMethods < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#41
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#41
def on_defs(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#60
def allow_empty?; end

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#52
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#97
def break_line_before(corrector, node, range, indent_steps: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#88
def correct_to_endless(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#64
def correct_to_endless?(body_node); end

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#74
def correct_to_multiline(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#136
def disallow_endless_method_style?; end

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#104
def each_part(body); end

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#121
def method_body_source(method_body); end

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#114
def move_comment(node, corrector); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#132
def require_parentheses?(method_body); end

end

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#38 RuboCop::Cop::Style::SingleLineMethods::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#39 RuboCop::Cop::Style::SingleLineMethods::NOT_SUPPORTED_ENDLESS_METHOD_BODY_TYPES = T.let(T.unsafe(nil), Array)

# Checks that arrays are not sliced with the redundant ‘ary`, replacing it with `ary`, # and ensures arrays are sliced with endless ranges instead of `ary` on Ruby 2.6+, # and with beginless ranges instead of `ary` on Ruby 2.7+. # # @example # # bad # items # items # items # # # good # items # # # bad # items # Ruby 2.6+ # items # Ruby 2.6+ # # # good # items # Ruby 2.6+ # # # bad # items # Ruby 2.7+ # # # good # items # Ruby 2.7+ # items # Ruby 2.7+ # # source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#46 class RuboCop::Cop::Style::SlicingWithRange < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#77
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#73
def range_from_zero?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#57
def range_from_zero_till_minus_one?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#65
def range_till_minus_one?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#111
def beginless(range_node); end

# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#107
def endless(range_node); end

# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#93
def offense_message_with_removal_range(range_node, selector); end

end

# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#52 RuboCop::Cop::Style::SlicingWithRange::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#53 RuboCop::Cop::Style::SlicingWithRange::MSG_USELESS_RANGE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#54 RuboCop::Cop::Style::SlicingWithRange::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# If the branch of a conditional consists solely of a conditional node, # its conditions can be combined with the conditions of the outer branch. # This helps to keep the nesting level from getting too deep. # # @example # # bad # if condition_a # if condition_b # do_something # end # end # # # bad # if condition_b # do_something # end if condition_a # # # good # if condition_a && condition_b # do_something # end # @example AllowModifier: false (default) # # bad # if condition_a # do_something if condition_b # end # # # bad # if condition_b # do_something # end if condition_a # @example AllowModifier: true # # good # if condition_a # do_something if condition_b # end # # # good # if condition_b # do_something # end if condition_a # # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#49 class RuboCop::Cop::Style::SoleNestedConditional < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#59
def on_if(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#242
def allow_modifier?; end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#227
def arguments_range(node); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#81
def assigned_variables(condition); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#98
def autocorrect(corrector, node, if_branch); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#110
def autocorrect_outer_condition_basic(corrector, node, if_branch); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#125
def autocorrect_outer_condition_modify_form(corrector, node, if_branch); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#145
def correct_for_basic_condition_style(corrector, node, if_branch, and_operator); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#175
def correct_for_comment(corrector, node, if_branch); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#136
def correct_for_guard_condition_style(corrector, outer_condition, if_branch, and_operator); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#165
def correct_for_outer_condition_modify_form_style(corrector, node, if_branch); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#130
def correct_from_unless_to_if(corrector, node, is_modify_form: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#184
def correct_outer_condition(corrector, condition); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#197
def insert_bang(corrector, node, is_modify_form); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#210
def insert_bang_for_and(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#89
def offending_branch?(node, branch); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#246
def outer_condition_modify_form?(node, if_branch); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#238
def replace_condition(condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#222
def require_parentheses?(condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#74
def use_variable_assignment_in_condition?(condition, if_branch); end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#155
def wrap_condition(corrector, condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#233
def wrap_condition?(node); end

class << self
  # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#55
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#53 RuboCop::Cop::Style::SoleNestedConditional::MSG = T.let(T.unsafe(nil), String)

# Looks for uses of Perl-style global variables. # Correcting to global variables in the ‘English’ library # will add a require statement to the top of the file if # enabled by RequireEnglish config. # # Like ‘use_perl_names` but allows builtin global vars. # # # good # puts $LOAD_PATH # puts $LOADED_FEATURES # puts $PROGRAM_NAME # puts ARGV # puts $: # puts $“ # puts $0 # puts $! # puts $@ # puts $; # puts $, # puts $/ # puts $\ # puts $. # puts $_ # puts $> # puts $< # puts $$ # puts $? # puts $~ # puts $= # puts $* # # @example EnforcedStyle: use_english_names (default) # # good # require ’English’ # or this could be in another file. # # puts $LOAD_PATH # puts $LOADED_FEATURES # puts $PROGRAM_NAME # puts $ERROR_INFO # puts $ERROR_POSITION # puts $FIELD_SEPARATOR # or $FS # puts $OUTPUT_FIELD_SEPARATOR # or $OFS # puts $INPUT_RECORD_SEPARATOR # or $RS # puts $OUTPUT_RECORD_SEPARATOR # or $ORS # puts $INPUT_LINE_NUMBER # or $NR # puts $LAST_READ_LINE # puts $DEFAULT_OUTPUT # puts $DEFAULT_INPUT # puts $PROCESS_ID # or $PID # puts $CHILD_STATUS # puts $LAST_MATCH_INFO # puts $IGNORECASE # puts $ARGV # or ARGV # @example EnforcedStyle: use_perl_names # # good # puts $: # puts $” # puts $0 # puts $! # puts $@ # puts $; # puts $, # puts $/ # puts $\ # puts $. # puts $_ # puts $> # puts $< # puts $$ # puts $? # puts $~ # puts $= # puts $* # @example EnforcedStyle: use_builtin_english_names # # source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#87 class RuboCop::Cop::Style::SpecialGlobalVars < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::RequireLibrary
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#176
def autocorrect(corrector, node, global_var); end

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#168
def message(global_var); end

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#152
def on_gvar(node); end

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#147
def on_new_investigation; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#247
def add_require_english?; end

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#241
def english_name_replacement(preferred_name, node); end

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#190
def format_english_message(global_var); end

# For now, we assume that lists are 2 items or less. Easy grammar!
#
# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#212
def format_list(items); end

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#198
def format_message(english, regular, global); end

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#235
def matching_styles(global); end

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#227
def preferred_names(global); end

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#216
def replacement(node, global_var); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#251
def should_require_english?(global_var); end

end

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#128 RuboCop::Cop::Style::SpecialGlobalVars::BUILTIN_VARS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#100 RuboCop::Cop::Style::SpecialGlobalVars::ENGLISH_VARS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#145 RuboCop::Cop::Style::SpecialGlobalVars::LIBRARY_NAME = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#93 RuboCop::Cop::Style::SpecialGlobalVars::MSG_BOTH = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#96 RuboCop::Cop::Style::SpecialGlobalVars::MSG_ENGLISH = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#98 RuboCop::Cop::Style::SpecialGlobalVars::MSG_REGULAR = T.let(T.unsafe(nil), String)

# Anything not in this set is provided by the English library. # # source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#122 RuboCop::Cop::Style::SpecialGlobalVars::NON_ENGLISH_VARS = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#124 RuboCop::Cop::Style::SpecialGlobalVars::PERL_VARS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/cop/style/special_global_vars.rb#139 RuboCop::Cop::Style::SpecialGlobalVars::STYLE_VARS_MAP = T.let(T.unsafe(nil), Hash)

# Check for parentheses around stabby lambda arguments. # There are two different styles. Defaults to ‘require_parentheses`. # # @example EnforcedStyle: require_parentheses (default) # # bad # ->a,b,c { a + b + c } # # # good # ->(a,b,c) { a + b + c} # @example EnforcedStyle: require_no_parentheses # # bad # ->(a,b,c) { a + b + c } # # # good # ->a,b,c { a + b + c} # # source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#22 class RuboCop::Cop::Style::StabbyLambdaParentheses < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#28
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#54
def message(_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#46
def missing_parentheses?(node); end

# source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#58
def missing_parentheses_corrector(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#73
def parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#50
def redundant_parentheses?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#69
def stabby_lambda_with_args?(node); end

# source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#62
def unwanted_parentheses_corrector(corrector, node); end

end

# source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#27 RuboCop::Cop::Style::StabbyLambdaParentheses::MSG_NO_REQUIRE = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/stabby_lambda_parentheses.rb#26 RuboCop::Cop::Style::StabbyLambdaParentheses::MSG_REQUIRE = T.let(T.unsafe(nil), String)

# Checks for places where classes with only class methods can be # replaced with a module. Classes should be used only when it makes sense to create # instances out of them. # # @example # # bad # class SomeClass # def self.some_method # # body omitted # end # # def self.some_other_method # # body omitted # end # end # # # good # module SomeModule # module_function # # def some_method # # body omitted # end # # def some_other_method # # body omitted # end # end # # # good - has instance method # class SomeClass # def instance_method; end # def self.class_method; end # end # # source://rubocop//lib/rubocop/cop/style/static_class.rb#46 class RuboCop::Cop::Style::StaticClass < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::VisibilityHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/static_class.rb#53
def on_class(class_node); end

private

# source://rubocop//lib/rubocop/cop/style/static_class.rb#64
def autocorrect(corrector, class_node); end

# source://rubocop//lib/rubocop/cop/style/static_class.rb#77
def autocorrect_def(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/static_class.rb#83
def autocorrect_sclass(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/static_class.rb#90
def class_convertible_to_module?(class_node); end

# source://rubocop//lib/rubocop/cop/style/static_class.rb#114
def class_elements(class_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/static_class.rb#102
def extend_call?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/static_class.rb#106
def sclass_convertible_to_module?(node); end

end

# source://rubocop//lib/rubocop/cop/style/static_class.rb#51 RuboCop::Cop::Style::StaticClass::MSG = T.let(T.unsafe(nil), String)

# Identifies places where ‘$stderr.puts` can be replaced by # `warn`. The latter has the advantage of easily being disabled by, # the `-W0` interpreter flag or setting `$VERBOSE` to `nil`. # # @example # # bad # $stderr.puts(’hello’) # # # good # warn(‘hello’) # # source://rubocop//lib/rubocop/cop/style/stderr_puts.rb#17 class RuboCop::Cop::Style::StderrPuts < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/stderr_puts.rb#32
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/stderr_puts.rb#25
def stderr_puts?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/stderr_puts.rb#43
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/stderr_puts.rb#47
def stderr_gvar?(sym); end

# source://rubocop//lib/rubocop/cop/style/stderr_puts.rb#51
def stderr_puts_range(send); end

end

# source://rubocop//lib/rubocop/cop/style/stderr_puts.rb#21 RuboCop::Cop::Style::StderrPuts::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/stderr_puts.rb#22 RuboCop::Cop::Style::StderrPuts::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for uses of ‘String#split` with empty string or regexp literal argument. # # @example # # bad # string.split(//) # string.split(”) # # # good # string.chars # # source://rubocop//lib/rubocop/cop/style/string_chars.rb#21 class RuboCop::Cop::Style::StringChars < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/string_chars.rb#29
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/string_chars.rb#29
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/string_chars.rb#27 RuboCop::Cop::Style::StringChars::BAD_ARGUMENTS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/string_chars.rb#25 RuboCop::Cop::Style::StringChars::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/string_chars.rb#26 RuboCop::Cop::Style::StringChars::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for places where string concatenation # can be replaced with string interpolation. # # The cop can autocorrect simple cases but will skip autocorrecting # more complex cases where the resulting code would be harder to read. # In those cases, it might be useful to extract statements to local # variables or methods which you can then interpolate in a string. # # NOTE: When concatenation between two strings is broken over multiple # lines, this cop does not register an offense; instead, # ‘Style/LineEndConcatenation` will pick up the offense if enabled. # # Two modes are supported: # 1. `aggressive` style checks and corrects all occurrences of `+` where # either the left or right side of `+` is a string literal. # 2. `conservative` style on the other hand, checks and corrects only if # left side (receiver of `+` method call) is a string literal. # This is useful when the receiver is some expression that returns string like `Pathname` # instead of a string literal. # # @example Mode: aggressive (default) # # bad # email_with_name = user.name + ’ <‘ + user.email + ’>‘ # Pathname.new(’/‘) + ’test’ # # # good # email_with_name = “#{user.name} <#{user.email}>” # email_with_name = format(‘%s <%s>’, user.name, user.email) # “#{Pathname.new(‘/’)}test” # # # accepted, line-end concatenation # name = ‘First’ + # ‘Last’ # @example Mode: conservative # # bad # ‘Hello’ + user.name # # # good # “Hello #{user.name}” # user.name + ‘!!’ # Pathname.new(‘/’) + ‘test’ # # source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#53 class RuboCop::Cop::Style::StringConcatenation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#69
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#73
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#62
def string_concatenation?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#116
def collect_parts(node, parts = T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#141
def corrected_ancestor?(node); end

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#108
def find_topmost_plus_node(node); end

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#162
def handle_quotes(parts); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#135
def heredoc?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#98
def line_end_concatenation?(node); end

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#172
def mode; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#127
def plus_node?(node); end

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#86
def register_offense(topmost_plus_node, parts); end

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#145
def replacement(parts); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#168
def single_quoted?(str_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#131
def uncorrectable?(part); end

end

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#58 RuboCop::Cop::Style::StringConcatenation::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/string_concatenation.rb#59 RuboCop::Cop::Style::StringConcatenation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for the use of strings as keys in hashes. The use of # symbols is preferred instead. # # @example # # bad # { ‘one’ => 1, ‘two’ => 2, ‘three’ => 3 } # # # good # { one: 1, two: 2, three: 3 } # # source://rubocop//lib/rubocop/cop/style/string_hash_keys.rb#19 class RuboCop::Cop::Style::StringHashKeys < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/string_hash_keys.rb#42
def on_pair(node); end

# source://rubocop//lib/rubocop/cop/style/string_hash_keys.rb#30
def receive_environments_method?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/string_hash_keys.rb#25
def string_hash_key?(param0 = T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/style/string_hash_keys.rb#22 RuboCop::Cop::Style::StringHashKeys::MSG = T.let(T.unsafe(nil), String)

# Checks if uses of quotes match the configured preference. # # @example EnforcedStyle: single_quotes (default) # # bad # “No special symbols” # “No string interpolation” # “Just text” # # # good # ‘No special symbols’ # ‘No string interpolation’ # ‘Just text’ # “Wait! What’s #{this}!” # @example EnforcedStyle: double_quotes # # bad # ‘Just some text’ # ‘No special chars or interpolation’ # # # good # “Just some text” # “No special chars or interpolation” # “Every string in #{project} uses double_quotes” # # source://rubocop//lib/rubocop/cop/style/string_literals.rb#29 class RuboCop::Cop::Style::StringLiterals < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::StringLiteralsHelp
include ::RuboCop::Cop::StringHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/string_literals.rb#37
def on_dstr(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_literals.rb#123
def accept_child_double_quotes?(nodes); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_literals.rb#71
def all_string_literals?(nodes); end

# source://rubocop//lib/rubocop/cop/style/string_literals.rb#61
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/string_literals.rb#105
def check_multiline_quote_style(node, quote); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_literals.rb#101
def consistent_multiline?; end

# source://rubocop//lib/rubocop/cop/style/string_literals.rb#75
def detect_quote_styles(node); end

# source://rubocop//lib/rubocop/cop/style/string_literals.rb#87
def message(_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_literals.rb#97
def offense?(node); end

# source://rubocop//lib/rubocop/cop/style/string_literals.rb#65
def register_offense(node, message: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_literals.rb#119
def unexpected_double_quotes?(quote); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_literals.rb#115
def unexpected_single_quotes?(quote); end

end

# source://rubocop//lib/rubocop/cop/style/string_literals.rb#35 RuboCop::Cop::Style::StringLiterals::MSG_INCONSISTENT = T.let(T.unsafe(nil), String)

# Checks that quotes inside string, symbol, and regexp interpolations # match the configured preference. # # @example EnforcedStyle: single_quotes (default) # # bad # string = “Tests #{success ? ”PASS“ : ”FAIL“}” # symbol = :“Tests #{success ? ”PASS“ : ”FAIL“}” # heredoc = <<~TEXT # Tests #{success ? “PASS” : “FAIL”} # TEXT # regexp = /Tests #{success ? “PASS” : “FAIL”}/ # # # good # string = “Tests #{success ? ‘PASS’ : ‘FAIL’}” # symbol = :“Tests #{success ? ‘PASS’ : ‘FAIL’}” # heredoc = <<~TEXT # Tests #{success ? ‘PASS’ : ‘FAIL’} # TEXT # regexp = /Tests #{success ? ‘PASS’ : ‘FAIL’}/ # @example EnforcedStyle: double_quotes # # bad # string = “Tests #{success ? ‘PASS’ : ‘FAIL’}” # symbol = :“Tests #{success ? ‘PASS’ : ‘FAIL’}” # heredoc = <<~TEXT # Tests #{success ? ‘PASS’ : ‘FAIL’} # TEXT # regexp = /Tests #{success ? ‘PASS’ : ‘FAIL’}/ # # # good # string = “Tests #{success ? ”PASS“ : ”FAIL“}” # symbol = :“Tests #{success ? ”PASS“ : ”FAIL“}” # heredoc = <<~TEXT # Tests #{success ? “PASS” : “FAIL”} # TEXT # regexp = /Tests #{success ? “PASS” : “FAIL”}/ # # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#42 class RuboCop::Cop::Style::StringLiteralsInInterpolation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::StringLiteralsHelp
include ::RuboCop::Cop::StringHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#48
def autocorrect(corrector, node); end

# Cop classes that include the StringHelp module usually ignore regexp
# nodes. Not so for this cop, which is why we override the on_regexp
# definition with an empty one.
#
# source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#55
def on_regexp(node); end

private

# source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#59
def message(_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#66
def offense?(node); end

end

# Enforces the use of consistent method names # from the String class. # # @example # # bad # ‘name’.intern # ‘var’.unfavored_method # # # good # ‘name’.to_sym # ‘var’.preferred_method # # source://rubocop//lib/rubocop/cop/style/string_methods.rb#17 class RuboCop::Cop::Style::StringMethods < ::RuboCop::Cop::Base

include ::RuboCop::Cop::MethodPreference
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/string_methods.rb#23
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/string_methods.rb#23
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/string_methods.rb#21 RuboCop::Cop::Style::StringMethods::MSG = T.let(T.unsafe(nil), String)

# Identifies places where ‘lstrip.rstrip` can be replaced by # `strip`. # # @example # # bad # ’abc’.lstrip.rstrip # ‘abc’.rstrip.lstrip # # # good # ‘abc’.strip # # source://rubocop//lib/rubocop/cop/style/strip.rb#16 class RuboCop::Cop::Style::Strip < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/strip.rb#24
def lstrip_rstrip(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/strip.rb#31
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/strip.rb#31
def on_send(node); end

end

# source://rubocop//lib/rubocop/cop/style/strip.rb#20 RuboCop::Cop::Style::Strip::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/strip.rb#21 RuboCop::Cop::Style::Strip::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for inheritance from Struct.new. # # @example # # bad # class Person < Struct.new(:first_name, :last_name) # def age # 42 # end # end # # # good # Person = Struct.new(:first_name, :last_name) do # def age # 42 # end # end # # source://rubocop//lib/rubocop/cop/style/struct_inheritance.rb#26 class RuboCop::Cop::Style::StructInheritance < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/struct_inheritance.rb#33
def on_class(node); end

# source://rubocop//lib/rubocop/cop/style/struct_inheritance.rb#45
def struct_constructor?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/struct_inheritance.rb#52
def correct_parent(parent, corrector); end

# source://rubocop//lib/rubocop/cop/style/struct_inheritance.rb#62
def range_for_empty_class_body(class_node, struct_new); end

end

# source://rubocop//lib/rubocop/cop/style/struct_inheritance.rb#30 RuboCop::Cop::Style::StructInheritance::MSG = T.let(T.unsafe(nil), String)

# Enforces the presence of parentheses in ‘super` containing arguments. # # `super` is a keyword and is provided as a distinct cop from those designed for method call. # # @example # # # bad # super name, age # # # good # super(name, age) # # source://rubocop//lib/rubocop/cop/style/super_with_args_parentheses.rb#18 class RuboCop::Cop::Style::SuperWithArgsParentheses < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/super_with_args_parentheses.rb#23
def on_super(node); end

end

# source://rubocop//lib/rubocop/cop/style/super_with_args_parentheses.rb#21 RuboCop::Cop::Style::SuperWithArgsParentheses::MSG = T.let(T.unsafe(nil), String)

# Enforces the use of shorthand-style swapping of 2 variables. # # @example # # bad # tmp = x # x = y # y = tmp # # # good # x, y = y, x # # source://rubocop//lib/rubocop/cop/style/swap_values.rb#21 class RuboCop::Cop::Style::SwapValues < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#30
def on_asgn(node); end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#30
def on_casgn(node); end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#30
def on_cvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#30
def on_gvasgn(node); end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#30
def on_ivasgn(node); end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#30
def on_lvasgn(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/swap_values.rb#47
def allowed_assignment?(node); end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#104
def correction_range(tmp_assign, y_assign); end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#81
def lhs(node); end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#66
def message(x_assign, y_assign); end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#75
def replacement(x_assign); end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#95
def rhs(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/swap_values.rb#60
def simple_assignment?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/swap_values.rb#51
def swapping_values?(tmp_assign, x_assign, y_assign); end

end

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#25 RuboCop::Cop::Style::SwapValues::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/swap_values.rb#28 RuboCop::Cop::Style::SwapValues::SIMPLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Set)

# Checks for array literals made up of symbols that are not # using the %i() syntax. # # Alternatively, it checks for symbol arrays using the %i() syntax on # projects which do not want to use that syntax, perhaps because they # support a version of Ruby lower than 2.0. # # Configuration option: MinSize # If set, arrays with fewer elements than this value will not trigger the # cop. For example, a ‘MinSize` of `3` will not enforce a style on an # array of 2 or fewer elements. # # @example EnforcedStyle: percent (default) # # good # %i[foo bar baz] # # # bad # [:foo, :bar, :baz] # # # bad (contains spaces) # %i[foo\ bar baz\ quux] # # # bad (contains [] with spaces) # %i[foo [ ]] # # # bad (contains () with spaces) # %i(foo ( )) # @example EnforcedStyle: brackets # # good # [:foo, :bar, :baz] # # # bad # %i[foo bar baz] # # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#40 class RuboCop::Cop::Style::SymbolArray < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ArrayMinSize
include ::RuboCop::Cop::ArraySyntax
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::PercentArray
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#66
def on_array(node); end

private

# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#96
def build_bracketed_array(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#78
def complex_content?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#92
def invalid_percent_array_contents?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#119
def symbol_without_quote?(string); end

# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#111
def to_symbol_literal(string); end

class << self
  # Returns the value of attribute largest_brackets.
  #
  # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#63
  def largest_brackets; end

  # Sets the attribute largest_brackets
  #
  # @param value the value to set the attribute largest_brackets to.
  #
  # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#63
  def largest_brackets=(_arg0); end
end

end

# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#51 RuboCop::Cop::Style::SymbolArray::ARRAY_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#52 RuboCop::Cop::Style::SymbolArray::DELIMITERS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#50 RuboCop::Cop::Style::SymbolArray::PERCENT_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#57 RuboCop::Cop::Style::SymbolArray::REDEFINABLE_OPERATORS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#53 RuboCop::Cop::Style::SymbolArray::SPECIAL_GVARS = T.let(T.unsafe(nil), Array)

# Checks symbol literal syntax. # # @example # # # bad # :“symbol” # # # good # :symbol # # source://rubocop//lib/rubocop/cop/style/symbol_literal.rb#15 class RuboCop::Cop::Style::SymbolLiteral < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/symbol_literal.rb#20
def on_sym(node); end

end

# source://rubocop//lib/rubocop/cop/style/symbol_literal.rb#18 RuboCop::Cop::Style::SymbolLiteral::MSG = T.let(T.unsafe(nil), String)

# Use symbols as procs when possible. # # If you prefer a style that allows block for method with arguments, # please set ‘true` to `AllowMethodsWithArguments`. # `define_method?` methods are allowed by default. # These are customizable with `AllowedMethods` option. # # @example # # bad # something.map { |s| s.upcase } # something.map { _1.upcase } # # # good # something.map(&:upcase) # @example AllowMethodsWithArguments: false (default) # # bad # something.do_something(foo) { |o| o.bar } # # # good # something.do_something(foo, &:bar) # @example AllowMethodsWithArguments: true # # good # something.do_something(foo) { |o| o.bar } # @example AllowComments: false (default) # # bad # something.do_something do |s| # some comment # # some comment # s.upcase # some comment # # some comment # end # @example AllowComments: true # # good - if there are comment in either position # something.do_something do |s| # some comment # # some comment # s.upcase # some comment # # some comment # end # @example AllowedMethods: [define_method] (default) # # good # define_method(:foo) { |foo| foo.bar } # @example AllowedPatterns: [] (default) # # bad # something.map { |s| s.upcase } # @example AllowedPatterns: [’map’] (default) # # good # something.map { |s| s.upcase } # # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#123 class RuboCop::Cop::Style::SymbolProc < ::RuboCop::Cop::Base

include ::RuboCop::Cop::CommentsHelp
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#172
def destructuring_block_argument?(argument_node); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#152
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#152
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#134
def proc_node?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#140
def symbol_proc?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#137
def symbol_proc_receiver?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#240
def allow_comments?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#236
def allow_if_method_has_argument?(send_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#187
def allowed_method_name?(name); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#200
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#212
def autocorrect_with_args(corrector, node, args, method_name); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#208
def autocorrect_without_args(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#226
def begin_pos_for_replacement(node); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#221
def block_range_with_space(node); end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#191
def register_offense(node, method_name, block_method_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#183
def unsafe_array_usage?(node); end

# See: https://github.com/rubocop/rubocop/issues/10864
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#179
def unsafe_hash_usage?(node); end

class << self
  # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#147
  def autocorrect_incompatible_with; end
end

end

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#130 RuboCop::Cop::Style::SymbolProc::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#131 RuboCop::Cop::Style::SymbolProc::SUPER_TYPES = T.let(T.unsafe(nil), Array)

# Corrector to correct conditional assignment in ternary conditions. # # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#499 class RuboCop::Cop::Style::TernaryCorrector

extend ::RuboCop::Cop::Style::ConditionalAssignmentHelper
extend ::RuboCop::Cop::Style::ConditionalCorrectorHelper

class << self
  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#504
  def correct(corrector, node); end

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#508
  def move_assignment_inside_condition(corrector, node); end

  private

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#522
  def correction(node); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#535
  def element_assignment?(node); end

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#539
  def extract_branches(node); end

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#552
  def move_branch_inside_condition(corrector, branch, assignment); end

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#547
  def remove_parentheses(corrector, node); end

  # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#526
  def ternary(node); end
end

end

# Checks for the presence of parentheses around ternary # conditions. It is configurable to enforce inclusion or omission of # parentheses using ‘EnforcedStyle`. Omission is only enforced when # removing the parentheses won’t cause a different behavior. # # ‘AllowSafeAssignment` option for safe assignment. # By safe assignment we mean putting parentheses around # an assignment to indicate “I know I’m using an assignment # as a condition. It’s not a mistake.” # # @example EnforcedStyle: require_no_parentheses (default) # # bad # foo = (bar?) ? a : b # foo = (bar.baz?) ? a : b # foo = (bar && baz) ? a : b # # # good # foo = bar? ? a : b # foo = bar.baz? ? a : b # foo = bar && baz ? a : b # @example EnforcedStyle: require_parentheses # # bad # foo = bar? ? a : b # foo = bar.baz? ? a : b # foo = bar && baz ? a : b # # # good # foo = (bar?) ? a : b # foo = (bar.baz?) ? a : b # foo = (bar && baz) ? a : b # @example EnforcedStyle: require_parentheses_when_complex # # bad # foo = (bar?) ? a : b # foo = (bar.baz?) ? a : b # foo = bar && baz ? a : b # # # good # foo = bar? ? a : b # foo = bar.baz? ? a : b # foo = (bar && baz) ? a : b # @example AllowSafeAssignment: true (default) # # good # foo = (bar = baz) ? a : b # @example AllowSafeAssignment: false # # bad # foo = (bar = baz) ? a : b # # source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#57 class RuboCop::Cop::Style::TernaryParentheses < ::RuboCop::Cop::Base

include ::RuboCop::Cop::SafeAssignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SurroundingSpace
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#193
def method_name(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#69
def on_if(node); end

private

# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#100
def autocorrect(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#183
def below_ternary_precedence?(child); end

# If the condition is parenthesized we recurse and check for any
# complex expressions within it.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#131
def complex_condition?(condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#89
def condition_as_parenthesized_one_line_pattern_matching?(condition); end

# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#198
def correct_parenthesized(corrector, condition); end

# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#208
def correct_unparenthesized(corrector, condition); end

# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#151
def message(node); end

# Anything that is not a variable, constant, or method/.method call
# will be counted as a complex expression.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#141
def non_complex_expression?(condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#145
def non_complex_send?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#113
def offense?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#85
def only_closing_parenthesis_is_last_line?(condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#169
def parenthesized?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#161
def require_parentheses?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#165
def require_parentheses_when_complex?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#179
def unparenthesized_method_call?(child); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#173
def unsafe_autocorrect?(condition); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#212
def whitespace_after?(node); end

end

# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#66 RuboCop::Cop::Style::TernaryParentheses::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#67 RuboCop::Cop::Style::TernaryParentheses::MSG_COMPLEX = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#64 RuboCop::Cop::Style::TernaryParentheses::NON_COMPLEX_TYPES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/ternary_parentheses.rb#63 RuboCop::Cop::Style::TernaryParentheses::VARIABLE_TYPES = T.let(T.unsafe(nil), Set)

# Newcomers to ruby applications may write top-level methods, # when ideally they should be organized in appropriate classes or modules. # This cop looks for definitions of top-level methods and warns about them. # # However for ruby scripts it is perfectly fine to use top-level methods. # Hence this cop is disabled by default. # # @example # # bad # def some_method # end # # # bad # def self.some_method # end # # # bad # define_method(:foo) { puts 1 } # # # good # module Foo # def some_method # end # end # # # good # class Foo # def self.some_method # end # end # # # good # Struct.new do # def some_method # end # end # # # good # class Foo # define_method(:foo) { puts 1 } # end # # source://rubocop//lib/rubocop/cop/style/top_level_method_definition.rb#47 class RuboCop::Cop::Style::TopLevelMethodDefinition < ::RuboCop::Cop::Base

# source://rubocop//lib/rubocop/cop/style/top_level_method_definition.rb#79
def define_method_block?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/top_level_method_definition.rb#60
def on_block(node); end

# source://rubocop//lib/rubocop/cop/style/top_level_method_definition.rb#52
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/top_level_method_definition.rb#52
def on_defs(node); end

# source://rubocop//lib/rubocop/cop/style/top_level_method_definition.rb#60
def on_numblock(node); end

# source://rubocop//lib/rubocop/cop/style/top_level_method_definition.rb#52
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/top_level_method_definition.rb#70
def top_level_method_definition?(node); end

end

# source://rubocop//lib/rubocop/cop/style/top_level_method_definition.rb#48 RuboCop::Cop::Style::TopLevelMethodDefinition::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/top_level_method_definition.rb#50 RuboCop::Cop::Style::TopLevelMethodDefinition::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for trailing code after the class definition. # # @example # # bad # class Foo; def foo; end # end # # # good # class Foo # def foo; end # end # # source://rubocop//lib/rubocop/cop/style/trailing_body_on_class.rb#18 class RuboCop::Cop::Style::TrailingBodyOnClass < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::TrailingBody
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/trailing_body_on_class.rb#25
def on_class(node); end

# source://rubocop//lib/rubocop/cop/style/trailing_body_on_class.rb#25
def on_sclass(node); end

end

# source://rubocop//lib/rubocop/cop/style/trailing_body_on_class.rb#23 RuboCop::Cop::Style::TrailingBodyOnClass::MSG = T.let(T.unsafe(nil), String)

# Checks for trailing code after the method definition. # # NOTE: It always accepts endless method definitions that are basically on the same line. # # @example # # bad # def some_method; do_stuff # end # # def f(x); b = foo # b[c: x] # end # # # good # def some_method # do_stuff # end # # def f(x) # b = foo # b[c: x] # end # # def endless_method = do_stuff # # source://rubocop//lib/rubocop/cop/style/trailing_body_on_method_definition.rb#31 class RuboCop::Cop::Style::TrailingBodyOnMethodDefinition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::TrailingBody
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/trailing_body_on_method_definition.rb#38
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/trailing_body_on_method_definition.rb#38
def on_defs(node); end

end

# source://rubocop//lib/rubocop/cop/style/trailing_body_on_method_definition.rb#36 RuboCop::Cop::Style::TrailingBodyOnMethodDefinition::MSG = T.let(T.unsafe(nil), String)

# Checks for trailing code after the module definition. # # @example # # bad # module Foo extend self # end # # # good # module Foo # extend self # end # # source://rubocop//lib/rubocop/cop/style/trailing_body_on_module.rb#18 class RuboCop::Cop::Style::TrailingBodyOnModule < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::TrailingBody
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/trailing_body_on_module.rb#25
def on_module(node); end

end

# source://rubocop//lib/rubocop/cop/style/trailing_body_on_module.rb#23 RuboCop::Cop::Style::TrailingBodyOnModule::MSG = T.let(T.unsafe(nil), String)

# Checks for trailing comma in argument lists. # The supported styles are: # # * ‘consistent_comma`: Requires a comma after the last argument, # for all parenthesized method calls with arguments. # * `comma`: Requires a comma after the last argument, but only for # parenthesized method calls where each argument is on its own line. # * `no_comma`: Requires that there is no comma after the last # argument. # # @example EnforcedStyleForMultiline: consistent_comma # # bad # method(1, 2,) # # # good # method(1, 2) # # # good # method( # 1, 2, # 3, # ) # # # good # method( # 1, 2, 3, # ) # # # good # method( # 1, # 2, # ) # @example EnforcedStyleForMultiline: comma # # bad # method(1, 2,) # # # good # method(1, 2) # # # bad # method( # 1, 2, # 3, # ) # # # good # method( # 1, 2, # 3 # ) # # # bad # method( # 1, 2, 3, # ) # # # good # method( # 1, 2, 3 # ) # # # good # method( # 1, # 2, # ) # @example EnforcedStyleForMultiline: no_comma (default) # # bad # method(1, 2,) # # # good # method(1, 2) # # # good # method( # 1, # 2 # ) # # source://rubocop//lib/rubocop/cop/style/trailing_comma_in_arguments.rb#87 class RuboCop::Cop::Style::TrailingCommaInArguments < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::TrailingComma
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_arguments.rb#95
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_arguments.rb#95
def on_send(node); end

class << self
  # source://rubocop-rspec/2.29.1/lib/rubocop-rspec.rb#63
  def autocorrect_incompatible_with; end
end

end

# Checks for trailing comma in array literals. # The configuration options are: # # * ‘consistent_comma`: Requires a comma after the # last item of all non-empty, multiline array literals. # * `comma`: Requires a comma after last item in an array, # but only when each item is on its own line. # * `no_comma`: Does not require a comma after the # last item in an array # # @example EnforcedStyleForMultiline: consistent_comma # # bad # a = [1, 2,] # # # good # a = [1, 2] # # # good # a = [ # 1, 2, # 3, # ] # # # good # a = [ # 1, 2, 3, # ] # # # good # a = [ # 1, # 2, # ] # @example EnforcedStyleForMultiline: comma # # bad # a = [1, 2,] # # # good # a = [1, 2] # # # bad # a = [ # 1, 2, # 3, # ] # # # good # a = [ # 1, 2, # 3 # ] # # # bad # a = [ # 1, 2, 3, # ] # # # good # a = [ # 1, 2, 3 # ] # # # good # a = [ # 1, # 2, # ] # @example EnforcedStyleForMultiline: no_comma (default) # # bad # a = [1, 2,] # # # good # a = [ # 1, # 2 # ] # # source://rubocop//lib/rubocop/cop/style/trailing_comma_in_array_literal.rb#84 class RuboCop::Cop::Style::TrailingCommaInArrayLiteral < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::TrailingComma
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_array_literal.rb#88
def on_array(node); end

end

# Checks whether trailing commas in block arguments are # required. Blocks with only one argument and a trailing comma require # that comma to be present. Blocks with more than one argument never # require a trailing comma. # # @example # # bad # add { |foo, bar,| foo + bar } # # # good # add { |foo, bar| foo + bar } # # # good # add { |foo,| foo } # # # good # add { foo } # # # bad # add do |foo, bar,| # foo + bar # end # # # good # add do |foo, bar| # foo + bar # end # # # good # add do |foo,| # foo # end # # # good # add do # foo + bar # end # # source://rubocop//lib/rubocop/cop/style/trailing_comma_in_block_args.rb#62 class RuboCop::Cop::Style::TrailingCommaInBlockArgs < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_block_args.rb#67
def on_block(node); end

private

# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_block_args.rb#83
def arg_count(node); end

# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_block_args.rb#95
def argument_tokens(node); end

# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_block_args.rb#91
def last_comma(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_block_args.rb#87
def trailing_comma?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_block_args.rb#79
def useless_trailing_comma?(node); end

end

# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_block_args.rb#65 RuboCop::Cop::Style::TrailingCommaInBlockArgs::MSG = T.let(T.unsafe(nil), String)

# Checks for trailing comma in hash literals. # The configuration options are: # # * ‘consistent_comma`: Requires a comma after the # last item of all non-empty, multiline hash literals. # * `comma`: Requires a comma after the last item in a hash, # but only when each item is on its own line. # * `no_comma`: Does not require a comma after the # last item in a hash # # @example EnforcedStyleForMultiline: consistent_comma # # # bad # a = { foo: 1, bar: 2, } # # # good # a = { foo: 1, bar: 2 } # # # good # a = { # foo: 1, bar: 2, # qux: 3, # } # # # good # a = { # foo: 1, bar: 2, qux: 3, # } # # # good # a = { # foo: 1, # bar: 2, # } # @example EnforcedStyleForMultiline: comma # # # bad # a = { foo: 1, bar: 2, } # # # good # a = { foo: 1, bar: 2 } # # # bad # a = { # foo: 1, bar: 2, # qux: 3, # } # # # good # a = { # foo: 1, bar: 2, # qux: 3 # } # # # bad # a = { # foo: 1, bar: 2, qux: 3, # } # # # good # a = { # foo: 1, bar: 2, qux: 3 # } # # # good # a = { # foo: 1, # bar: 2, # } # @example EnforcedStyleForMultiline: no_comma (default) # # # bad # a = { foo: 1, bar: 2, } # # # good # a = { # foo: 1, # bar: 2 # } # # source://rubocop//lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb#87 class RuboCop::Cop::Style::TrailingCommaInHashLiteral < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::TrailingComma
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb#91
def on_hash(node); end

end

# Checks for trailing code after the method definition. # # @example # # bad # def some_method # do_stuff; end # # def do_this(x) # baz.map { |b| b.this(x) } end # # def foo # block do # bar # end end # # # good # def some_method # do_stuff # end # # def do_this(x) # baz.map { |b| b.this(x) } # end # # def foo # block do # bar # end # end # # source://rubocop//lib/rubocop/cop/style/trailing_method_end_statement.rb#36 class RuboCop::Cop::Style::TrailingMethodEndStatement < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/trailing_method_end_statement.rb#41
def on_def(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trailing_method_end_statement.rb#55
def body_and_end_on_same_line?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trailing_method_end_statement.rb#51
def trailing_end?(node); end

end

# source://rubocop//lib/rubocop/cop/style/trailing_method_end_statement.rb#39 RuboCop::Cop::Style::TrailingMethodEndStatement::MSG = T.let(T.unsafe(nil), String)

# Checks for extra underscores in variable assignment. # # @example # # bad # a, b, _ = foo() # a, b, _, = foo() # a, _, _ = foo() # a, _, _, = foo() # # # good # a, b, = foo() # a, = foo() # *a, b, _ = foo() # # => We need to know to not include 2 variables in a # a, *b, _ = foo() # # => The correction ‘a, *b, = foo()` is a syntax error # @example AllowNamedUnderscoreVariables: true (default) # # good # a, b, _something = foo() # @example AllowNamedUnderscoreVariables: false # # bad # a, b, _something = foo() # # source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#31 class RuboCop::Cop::Style::TrailingUnderscoreVariable < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::SurroundingSpace
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#41
def on_masgn(node); end

private

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#92
def allow_named_underscore_variables; end

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#125
def children_offenses(variables); end

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#57
def find_first_offense(variables); end

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#66
def find_first_possible_offense(variables); end

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#108
def main_node_offense(node); end

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#146
def range_for_parentheses(offense, left); end

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#88
def reverse_index(collection, item); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#80
def splat_variable_before?(first_offense, variables); end

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#96
def unneeded_ranges(node); end

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#133
def unused_range(node_type, mlhs_node, right); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#129
def unused_variables_only?(offense, variables); end

end

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#38 RuboCop::Cop::Style::TrailingUnderscoreVariable::DISALLOW = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#36 RuboCop::Cop::Style::TrailingUnderscoreVariable::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/trailing_underscore_variable.rb#37 RuboCop::Cop::Style::TrailingUnderscoreVariable::UNDERSCORE = T.let(T.unsafe(nil), String)

# Looks for trivial reader/writer methods, that could # have been created with the attr_* family of functions automatically. # ‘to_ary`, `to_a`, `to_c`, `to_enum`, `to_h`, `to_hash`, `to_i`, `to_int`, `to_io`, # `to_open`, `to_path`, `to_proc`, `to_r`, `to_regexp`, `to_str`, `to_s`, and `to_sym` methods # are allowed by default. These are customizable with `AllowedMethods` option. # # @example # # bad # def foo # @foo # end # # def bar=(val) # @bar = val # end # # def self.baz # @baz # end # # # good # attr_reader :foo # attr_writer :bar # # class << self # attr_reader :baz # end # @example ExactNameMatch: true (default) # # good # def name # @other_name # end # @example ExactNameMatch: false # # bad # def name # @other_name # end # @example AllowPredicates: true (default) # # good # def foo? # @foo # end # @example AllowPredicates: false # # bad # def foo? # @foo # end # # # good # attr_reader :foo # @example AllowDSLWriters: true (default) # # good # def on_exception(action) # @on_exception=action # end # @example AllowDSLWriters: false # # bad # def on_exception(action) # @on_exception=action # end # # # good # attr_writer :on_exception # @example IgnoreClassMethods: false (default) # # bad # def self.foo # @foo # end # # # good # class << self # attr_reader :foo # end # @example IgnoreClassMethods: true # # good # def self.foo # @foo # end # @example AllowedMethods: [’allowed_method’] # # good # def allowed_method # @foo # end # # source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#98 class RuboCop::Cop::Style::TrivialAccessors < ::RuboCop::Cop::Base

include ::RuboCop::Cop::AllowedMethods
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#190
def looks_like_trivial_writer?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#104
def on_def(node); end

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#104
def on_defs(node); end

private

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#222
def accessor(kind, method_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#161
def allow_dsl_writers?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#157
def allow_predicates?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#195
def allowed_method_name?(node); end

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#169
def allowed_method_names; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#204
def allowed_reader?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#200
def allowed_writer?(node); end

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#142
def autocorrect(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#234
def autocorrect_class(corrector, node); end

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#226
def autocorrect_instance(corrector, node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#173
def dsl_writer?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#153
def exact_name_match?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#165
def ignore_class_methods?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#115
def in_module_or_instance_eval?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#181
def looks_like_trivial_reader?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#208
def names_match?(node); end

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#129
def on_method_def(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#248
def top_level_node?(node); end

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#214
def trivial_accessor_kind(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#177
def trivial_reader?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#185
def trivial_writer?(node); end

end

# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#102 RuboCop::Cop::Style::TrivialAccessors::MSG = T.let(T.unsafe(nil), String)

# Looks for ‘unless` expressions with `else` clauses. # # @example # # bad # unless foo_bar.nil? # # do something… # else # # do a different thing… # end # # # good # if foo_bar.present? # # do something… # else # # do a different thing… # end # # source://rubocop//lib/rubocop/cop/style/unless_else.rb#22 class RuboCop::Cop::Style::UnlessElse < ::RuboCop::Cop::Base

include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/unless_else.rb#28
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/unless_else.rb#45
def range_between_condition_and_else(node, condition); end

# source://rubocop//lib/rubocop/cop/style/unless_else.rb#49
def range_between_else_and_end(node); end

end

# source://rubocop//lib/rubocop/cop/style/unless_else.rb#26 RuboCop::Cop::Style::UnlessElse::MSG = T.let(T.unsafe(nil), String)

# Checks for the use of logical operators in an ‘unless` condition. # It discourages such code, as the condition becomes more difficult # to read and understand. # # This cop supports two styles: # # - `forbid_mixed_logical_operators` (default) # - `forbid_logical_operators` # # `forbid_mixed_logical_operators` style forbids the use of more than one type # of logical operators. This makes the `unless` condition easier to read # because either all conditions need to be met or any condition need to be met # in order for the expression to be truthy or falsey. # # `forbid_logical_operators` style forbids any use of logical operator. # This makes it even more easy to read the `unless` condition as # there is only one condition in the expression. # # @example EnforcedStyle: forbid_mixed_logical_operators (default) # # bad # return unless a || b && c # return unless a && b || c # return unless a && b and c # return unless a || b or c # return unless a && b or c # return unless a || b and c # # # good # return unless a && b && c # return unless a || b || c # return unless a and b and c # return unless a or b or c # return unless a? # @example EnforcedStyle: forbid_logical_operators # # bad # return unless a || b # return unless a && b # return unless a or b # return unless a and b # # # good # return unless a # return unless a? # # source://rubocop//lib/rubocop/cop/style/unless_logical_operators.rb#50 class RuboCop::Cop::Style::UnlessLogicalOperators < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle

# source://rubocop//lib/rubocop/cop/style/unless_logical_operators.rb#62
def and_with_or?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/unless_logical_operators.rb#67
def logical_operator?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/unless_logical_operators.rb#71
def on_if(node); end

# source://rubocop//lib/rubocop/cop/style/unless_logical_operators.rb#57
def or_with_and?(param0 = T.unsafe(nil)); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/unless_logical_operators.rb#83
def mixed_logical_operator?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/unless_logical_operators.rb#90
def mixed_precedence_and?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/unless_logical_operators.rb#97
def mixed_precedence_or?(node); end

end

# source://rubocop//lib/rubocop/cop/style/unless_logical_operators.rb#54 RuboCop::Cop::Style::UnlessLogicalOperators::FORBID_LOGICAL_OPERATORS = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/unless_logical_operators.rb#53 RuboCop::Cop::Style::UnlessLogicalOperators::FORBID_MIXED_LOGICAL_OPERATORS = T.let(T.unsafe(nil), String)

# Checks for accessing the first element of ‘String#unpack` # which can be replaced with the shorter method `unpack1`. # # @example # # # bad # ’foo’.unpack(‘h*’).first # ‘foo’.unpack(‘h*’) # ‘foo’.unpack(‘h*’).slice(0) # ‘foo’.unpack(‘h*’).at(0) # # # good # ‘foo’.unpack1(‘h*’) # # source://rubocop//lib/rubocop/cop/style/unpack_first.rb#20 class RuboCop::Cop::Style::UnpackFirst < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/style/unpack_first.rb#37
def on_csend(node); end

# source://rubocop//lib/rubocop/cop/style/unpack_first.rb#37
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/unpack_first.rb#30
def unpack_and_first_element?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/unpack_first.rb#53
def first_element_range(node, unpack_call); end

end

# source://rubocop//lib/rubocop/cop/style/unpack_first.rb#26 RuboCop::Cop::Style::UnpackFirst::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/unpack_first.rb#27 RuboCop::Cop::Style::UnpackFirst::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for variable interpolation (like “#@ivar”). # # @example # # bad # “His name is #$name” # /check #$pattern/ # “Let’s go to the #@store” # # # good # “His name is #{$name}” # /check #{$pattern}/ # “Let’s go to the #{@store}” # # source://rubocop//lib/rubocop/cop/style/variable_interpolation.rb#18 class RuboCop::Cop::Style::VariableInterpolation < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Interpolation
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/variable_interpolation.rb#25
def on_node_with_interpolations(node); end

private

# source://rubocop//lib/rubocop/cop/style/variable_interpolation.rb#35
def message(range); end

# source://rubocop//lib/rubocop/cop/style/variable_interpolation.rb#39
def var_nodes(nodes); end

end

# source://rubocop//lib/rubocop/cop/style/variable_interpolation.rb#22 RuboCop::Cop::Style::VariableInterpolation::MSG = T.let(T.unsafe(nil), String)

# Checks for ‘when;` uses in `case` expressions. # # @example # # bad # case foo # when 1; ’baz’ # when 2; ‘bar’ # end # # # good # case foo # when 1 then ‘baz’ # when 2 then ‘bar’ # end # # source://rubocop//lib/rubocop/cop/style/when_then.rb#20 class RuboCop::Cop::Style::WhenThen < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/when_then.rb#25
def on_when(node); end

end

# source://rubocop//lib/rubocop/cop/style/when_then.rb#23 RuboCop::Cop::Style::WhenThen::MSG = T.let(T.unsafe(nil), String)

# Checks for uses of ‘do` in multi-line `while/until` statements. # # @example # # # bad # while x.any? do # do_something(x.pop) # end # # # good # while x.any? # do_something(x.pop) # end # @example # # # bad # until x.empty? do # do_something(x.pop) # end # # # good # until x.empty? # do_something(x.pop) # end # # source://rubocop//lib/rubocop/cop/style/while_until_do.rb#31 class RuboCop::Cop::Style::WhileUntilDo < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/while_until_do.rb#36
def on_until(node); end

# source://rubocop//lib/rubocop/cop/style/while_until_do.rb#36
def on_while(node); end

end

# source://rubocop//lib/rubocop/cop/style/while_until_do.rb#34 RuboCop::Cop::Style::WhileUntilDo::MSG = T.let(T.unsafe(nil), String)

# Checks for while and until statements that would fit on one line # if written as a modifier while/until. The maximum line length is # configured in the ‘Layout/LineLength` cop. # # @example # # bad # while x < 10 # x += 1 # end # # # good # x += 1 while x < 10 # @example # # bad # until x > 10 # x += 1 # end # # # good # x += 1 until x > 10 # @example # # bad # x += 100 while x < 500 # a long comment that makes code too long if it were a single line # # # good # while x < 500 # a long comment that makes code too long if it were a single line # x += 100 # end # # source://rubocop//lib/rubocop/cop/style/while_until_modifier.rb#36 class RuboCop::Cop::Style::WhileUntilModifier < ::RuboCop::Cop::Base

include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::StatementModifier
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/while_until_modifier.rb#42
def on_until(node); end

# source://rubocop//lib/rubocop/cop/style/while_until_modifier.rb#42
def on_while(node); end

end

# source://rubocop//lib/rubocop/cop/style/while_until_modifier.rb#40 RuboCop::Cop::Style::WhileUntilModifier::MSG = T.let(T.unsafe(nil), String)

# Checks for array literals made up of word-like # strings, that are not using the %w() syntax. # # Alternatively, it can check for uses of the %w() syntax, in projects # which do not want to include that syntax. # # NOTE: When using the ‘percent` style, %w() arrays containing a space # will be registered as offenses. # # Configuration option: MinSize # If set, arrays with fewer elements than this value will not trigger the # cop. For example, a `MinSize` of `3` will not enforce a style on an # array of 2 or fewer elements. # # @example EnforcedStyle: percent (default) # # good # %w[foo bar baz] # # # bad # [’foo’, ‘bar’, ‘baz’] # # # bad (contains spaces) # %w[foo\ bar baz\ quux] # # # bad # [ # [‘one’, ‘One’], # [‘two’, ‘Two’] # ] # # # good # [ # %w[one One], # %w[two Two] # ] # # # good (2d array containing spaces) # [ # [‘one’, ‘One’], # [‘two’, ‘Two’], # [‘forty two’, ‘Forty Two’] # ] # @example EnforcedStyle: brackets # # good # [‘foo’, ‘bar’, ‘baz’] # # # bad # %w[foo bar baz] # # # good (contains spaces) # [‘foo bar’, ‘baz quux’] # # # good # [ # [‘one’, ‘One’], # [‘two’, ‘Two’] # ] # # # bad # [ # %w[one One], # %w[two Two] # ] # # source://rubocop//lib/rubocop/cop/style/word_array.rb#71 class RuboCop::Cop::Style::WordArray < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ArrayMinSize
include ::RuboCop::Cop::ArraySyntax
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::PercentArray
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/word_array.rb#94
def on_array(node); end

# source://rubocop//lib/rubocop/cop/style/word_array.rb#85
def on_new_investigation; end

private

# source://rubocop//lib/rubocop/cop/style/word_array.rb#138
def build_bracketed_array(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/word_array.rb#118
def complex_content?(strings, complex_regex: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/word_array.rb#129
def invalid_percent_array_contents?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/word_array.rb#113
def matrix_of_complex_content?(array); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/word_array.rb#107
def within_matrix_of_complex_content?(node); end

# source://rubocop//lib/rubocop/cop/style/word_array.rb#134
def word_regex; end

class << self
  # Returns the value of attribute largest_brackets.
  #
  # source://rubocop//lib/rubocop/cop/style/word_array.rb#82
  def largest_brackets; end

  # Sets the attribute largest_brackets
  #
  # @param value the value to set the attribute largest_brackets to.
  #
  # source://rubocop//lib/rubocop/cop/style/word_array.rb#82
  def largest_brackets=(_arg0); end
end

end

# source://rubocop//lib/rubocop/cop/style/word_array.rb#79 RuboCop::Cop::Style::WordArray::ARRAY_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/word_array.rb#78 RuboCop::Cop::Style::WordArray::PERCENT_MSG = T.let(T.unsafe(nil), String)

# Checks for the use of ‘YAML.load`, `YAML.safe_load`, and `YAML.parse` with # `File.read` argument. # # NOTE: `YAML.safe_load_file` was introduced in Ruby 3.0. # # @example # # # bad # YAML.load(File.read(path)) # YAML.parse(File.read(path)) # # # good # YAML.load_file(path) # YAML.parse_file(path) # # # bad # YAML.safe_load(File.read(path)) # Ruby 3.0 and newer # # # good # YAML.safe_load_file(path) # Ruby 3.0 and newer # # source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#27 class RuboCop::Cop::Style::YAMLFileRead < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#41
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#34
def yaml_file_read?(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#60
def offense_range(node); end

end

# source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#30 RuboCop::Cop::Style::YAMLFileRead::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#31 RuboCop::Cop::Style::YAMLFileRead::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Enforces or forbids Yoda conditions, # i.e. comparison operations where the order of expression is reversed. # eg. ‘5 == x` # # @example EnforcedStyle: forbid_for_all_comparison_operators (default) # # bad # 99 == foo # “bar” != foo # 42 >= foo # 10 < bar # 99 == CONST # # # good # foo == 99 # foo == “bar” # foo <= 42 # bar > 10 # CONST == 99 # “#{interpolation}” == foo # /#{interpolation}/ == foo # @example EnforcedStyle: forbid_for_equality_operators_only # # bad # 99 == foo # “bar” != foo # # # good # 99 >= foo # 3 < a && a < 5 # @example EnforcedStyle: require_for_all_comparison_operators # # bad # foo == 99 # foo == “bar” # foo <= 42 # bar > 10 # # # good # 99 == foo # “bar” != foo # 42 >= foo # 10 < bar # @example EnforcedStyle: require_for_equality_operators_only # # bad # 99 >= foo # 3 < a && a < 5 # # # good # 99 == foo # “bar” != foo # # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#77 class RuboCop::Cop::Style::YodaCondition < ::RuboCop::Cop::Base

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#90
def file_constant_equal_program_name?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#94
def on_send(node); end

private

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#149
def actual_code_range(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#145
def constant_portion?(node); end

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#138
def corrected_code(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#107
def enforce_yoda?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#112
def equality_only?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#173
def interpolation?(node); end

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#134
def message(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#157
def non_equality_operator?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#161
def noncommutative_operator?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#169
def program_name?(name); end

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#153
def reverse_comparison(operator); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#165
def source_file_path_constant?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#122
def valid_yoda?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#117
def yoda_compatible_condition?(node); end

end

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#84 RuboCop::Cop::Style::YodaCondition::EQUALITY_OPERATORS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#82 RuboCop::Cop::Style::YodaCondition::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#85 RuboCop::Cop::Style::YodaCondition::NONCOMMUTATIVE_OPERATORS = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#86 RuboCop::Cop::Style::YodaCondition::PROGRAM_NAMES = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#87 RuboCop::Cop::Style::YodaCondition::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set)

# source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#83 RuboCop::Cop::Style::YodaCondition::REVERSE_COMPARISON = T.let(T.unsafe(nil), Hash)

# Forbids Yoda expressions, i.e. binary operations (using ‘*`, `+`, `&`, `|`, # and `^` operators) where the order of expression is reversed, eg. `1 + x`. # This cop complements `Style/YodaCondition` cop, which has a similar purpose. # # This cop is disabled by default to respect user intentions such as: # # [source,ruby] # —- # config.server_port = 9000 + ENV.to_i # —- # # @example SupportedOperators: [’*‘, ’+‘, ’&‘, ’|‘, ’^‘] (default) # # bad # 10 * y # 1 + x # 1 & z # 1 | x # 1 ^ x # 1 + CONST # # # good # y * 10 # x + 1 # z & 1 # x | 1 # x ^ 1 # CONST + 1 # 60 * 24 # # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#40 class RuboCop::Cop::Style::YodaExpression < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#47
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#51
def on_send(node); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#73
def constant_portion?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#81
def offended_ancestor?(node); end

# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#85
def offended_nodes; end

# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#77
def supported_operators; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#69
def yoda_expression_constant?(lhs, rhs); end

end

# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#43 RuboCop::Cop::Style::YodaExpression::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#45 RuboCop::Cop::Style::YodaExpression::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# Checks for numeric comparisons that can be replaced # by a predicate method, such as ‘receiver.length == 0`, # `receiver.length > 0`, and `receiver.length != 0`, # `receiver.length < 1` and `receiver.size == 0` that can be # replaced by `receiver.empty?` and `!receiver.empty?`. # # NOTE: `File`, `Tempfile`, and `StringIO` do not have `empty?` # so allow `size == 0` and `size.zero?`. # # @example # # bad # [1, 2, 3].length == 0 # 0 == “foobar”.length # array.length < 1 # {a: 1, b: 2}.length != 0 # string.length > 0 # hash.size > 0 # # # good # [1, 2, 3].empty? # “foobar”.empty? # array.empty? # !{a: 1, b: 2}.empty? # !string.empty? # !hash.empty? # # source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#37 class RuboCop::Cop::Style::ZeroLengthPredicate < ::RuboCop::Cop::Base

extend ::RuboCop::Cop::AutoCorrector

# Some collection like objects in the Ruby standard library
# implement `#size`, but not `#empty`. We ignore those to
# reduce false positives.
#
# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#139
def non_polymorphic_collection?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#109
def nonzero_length_comparison(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#45
def on_send(node); end

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#130
def other_receiver(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#101
def zero_length_comparison(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#96
def zero_length_predicate(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#122
def zero_length_receiver(param0 = T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#80
def check_nonzero_length_comparison(node); end

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#65
def check_zero_length_comparison(node); end

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#53
def check_zero_length_predicate(node); end

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#114
def replacement(node); end

end

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#41 RuboCop::Cop::Style::ZeroLengthPredicate::NONZERO_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#43 RuboCop::Cop::Style::ZeroLengthPredicate::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)

# source://rubocop//lib/rubocop/cop/style/zero_length_predicate.rb#40 RuboCop::Cop::Style::ZeroLengthPredicate::ZERO_MSG = T.let(T.unsafe(nil), String)

# Common functionality for checking and correcting surrounding whitespace. # # source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#6 module RuboCop::Cop::SurroundingSpace

include ::RuboCop::Cop::RangeHelp

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#110
def empty_brackets?(left_bracket_token, right_bracket_token, tokens: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#104
def empty_offense(node, range, message, command); end

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#94
def empty_offenses(node, left, right, message); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#68
def extra_space?(token, side); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#129
def no_character_between?(left_bracket_token, right_bracket_token); end

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#38
def no_space_offenses(node, left_token, right_token, message, start_ok: T.unsafe(nil), end_ok: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#120
def offending_empty_no_space?(config, left_token, right_token); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#116
def offending_empty_space?(config, left_token, right_token); end

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#33
def on_new_investigation; end

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#78
def reposition(src, pos, step, include_newlines: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#16
def side_space_range(range:, side:, include_newlines: T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#124
def space_between?(left_bracket_token, right_bracket_token); end

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#85
def space_offense(node, token, side, message, command); end

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#53
def space_offenses(node, left_token, right_token, message, start_ok: T.unsafe(nil), end_ok: T.unsafe(nil)); end

end

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#9 RuboCop::Cop::SurroundingSpace::NO_SPACE_COMMAND = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#12 RuboCop::Cop::SurroundingSpace::SINGLE_SPACE_REGEXP = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/mixin/surrounding_space.rb#10 RuboCop::Cop::SurroundingSpace::SPACE_COMMAND = T.let(T.unsafe(nil), String)

# Classes that include this module just implement functions for working # with symbol nodes. # # source://rubocop//lib/rubocop/cop/mixin/symbol_help.rb#7 module RuboCop::Cop::SymbolHelp

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/symbol_help.rb#8
def hash_key?(node); end

end

# Common functionality for checking target ruby version. # # source://rubocop//lib/rubocop/cop/mixin/target_ruby_version.rb#6 module RuboCop::Cop::TargetRubyVersion

# source://rubocop//lib/rubocop/cop/mixin/target_ruby_version.rb#11
def minimum_target_ruby_version(version); end

# source://rubocop//lib/rubocop/cop/mixin/target_ruby_version.rb#7
def required_minimum_ruby_version; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/target_ruby_version.rb#15
def support_target_ruby_version?(version); end

end

# A group of cops, ready to be called on duty to inspect files. # Team is responsible for selecting only relevant cops to be sent on duty, # as well as insuring that the needed forces are sent along with them. # # For performance reasons, Team will first dispatch cops & forces in two groups, # first the ones needed for autocorrection (if any), then the rest # (unless autocorrections happened). # # source://rubocop//lib/rubocop/cop/team.rb#12 class RuboCop::Cop::Team

# @return [Team] a new instance of Team
#
# source://rubocop//lib/rubocop/cop/team.rb#55
def initialize(cops, config = T.unsafe(nil), options = T.unsafe(nil)); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/team.rb#66
def autocorrect?; end

# Returns the value of attribute cops.
#
# source://rubocop//lib/rubocop/cop/team.rb#51
def cops; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/team.rb#70
def debug?; end

# Returns the value of attribute errors.
#
# source://rubocop//lib/rubocop/cop/team.rb#51
def errors; end

# source://rubocop//lib/rubocop/cop/team.rb#114
def external_dependency_checksum; end

# @deprecated
#
# source://rubocop//lib/rubocop/cop/team.rb#110
def forces; end

# source://rubocop//lib/rubocop/cop/team.rb#76
def inspect_file(processed_source); end

# @return [Commissioner::InvestigationReport]
#
# source://rubocop//lib/rubocop/cop/team.rb#81
def investigate(processed_source, offset: T.unsafe(nil), original: T.unsafe(nil)); end

# Returns the value of attribute updated_source_file.
#
# source://rubocop//lib/rubocop/cop/team.rb#51
def updated_source_file; end

# Returns the value of attribute updated_source_file.
#
# source://rubocop//lib/rubocop/cop/team.rb#51
def updated_source_file?; end

# Returns the value of attribute warnings.
#
# source://rubocop//lib/rubocop/cop/team.rb#51
def warnings; end

private

# source://rubocop//lib/rubocop/cop/team.rb#121
def autocorrect(processed_source, report, original:, offset:); end

# source://rubocop//lib/rubocop/cop/team.rb#185
def autocorrect_report(report, offset:, original:); end

# source://rubocop//lib/rubocop/cop/team.rb#140
def be_ready; end

# source://rubocop//lib/rubocop/cop/team.rb#191
def collate_corrections(report, offset:, original:); end

# source://rubocop//lib/rubocop/cop/team.rb#207
def each_corrector(report); end

# source://rubocop//lib/rubocop/cop/team.rb#257
def handle_error(error, location, cop); end

# source://rubocop//lib/rubocop/cop/team.rb#249
def handle_warning(error, location); end

# @return [Commissioner::InvestigationReport]
#
# source://rubocop//lib/rubocop/cop/team.rb#154
def investigate_partial(cops, processed_source, offset:, original:); end

# source://rubocop//lib/rubocop/cop/team.rb#234
def process_errors(file, errors); end

# source://rubocop//lib/rubocop/cop/team.rb#148
def reset; end

# @return [Array<cop>]
#
# source://rubocop//lib/rubocop/cop/team.rb#160
def roundup_relevant_cops(processed_source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/team.rb#176
def support_target_rails_version?(cop); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/team.rb#170
def support_target_ruby_version?(cop); end

# source://rubocop//lib/rubocop/cop/team.rb#222
def suppress_clobbering; end

# source://rubocop//lib/rubocop/cop/team.rb#228
def validate_config; end

class << self
  # @return [Array<Force>] needed for the given cops
  #
  # source://rubocop//lib/rubocop/cop/team.rb#37
  def forces_for(cops); end

  # @return [Team] with cops assembled from the given `cop_classes`
  #
  # source://rubocop//lib/rubocop/cop/team.rb#22
  def mobilize(cop_classes, config, options = T.unsafe(nil)); end

  # @return [Array<Cop::Base>]
  #
  # source://rubocop//lib/rubocop/cop/team.rb#28
  def mobilize_cops(cop_classes, config, options = T.unsafe(nil)); end

  # @return [Team]
  #
  # source://rubocop//lib/rubocop/cop/team.rb#14
  def new(cop_or_classes, config, options = T.unsafe(nil)); end
end

end

# Common methods shared by TrailingBody cops # # source://rubocop//lib/rubocop/cop/mixin/trailing_body.rb#6 module RuboCop::Cop::TrailingBody

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_body.rb#12
def body_on_first_line?(node, body); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_body.rb#16
def first_part_of(body); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_body.rb#7
def trailing_body?(node); end

end

# Common methods shared by Style/TrailingCommaInArguments and # Style/TrailingCommaInLiteral # # source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#7 module RuboCop::Cop::TrailingComma

include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::RangeHelp

private

# A single argument with the closing bracket on the same line as the end
# of the argument is not considered multiline, even if the argument
# itself might span multiple lines.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#104
def allowed_multiline_argument?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#167
def any_heredoc?(items); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#159
def autocorrect_range(item); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#133
def avoid_comma(kind, comma_begin_pos, extra_info); end

# Returns true if the node has round/square/curly brackets.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#82
def brackets?(node); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#19
def check(node, items, kind, begin_pos, end_pos); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#37
def check_comma(node, kind, comma_pos); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#43
def check_literal(node, kind); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#30
def comma_offset(items, range); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#108
def elements(node); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#54
def extra_avoid_comma_info; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#171
def heredoc?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#189
def heredoc_send?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#76
def inside_comment?(range, comma_offset); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#93
def method_name_and_arguments_on_same_line?(node); end

# Returns true if the round/square/curly brackets of the given node are
# on different lines, each item within is on its own line, and the
# closing bracket is on its own line.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#89
def multiline?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#123
def no_elements_on_same_line?(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#129
def on_same_line?(range1, range2); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#147
def put_comma(items, kind); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#65
def should_have_comma?(style, node); end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#15
def style_parameter_name; end

end

# source://rubocop//lib/rubocop/cop/mixin/trailing_comma.rb#11 RuboCop::Cop::TrailingComma::MSG = T.let(T.unsafe(nil), String)

# Common functionality shared by Uncommunicative cops # # source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#6 module RuboCop::Cop::UncommunicativeName

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#12
def check(node, args); end

private

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#95
def allow_nums; end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#87
def allowed_names; end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#78
def arg_range(arg, length); end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#45
def case_offense(node, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#64
def ends_with_num?(name); end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#91
def forbidden_names; end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#83
def forbidden_offense(node, range, name); end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#36
def issue_offenses(node, range, name); end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#68
def length_offense(node, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#74
def long_enough?(name); end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#99
def min_length; end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#53
def name_type(node); end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#60
def num_offense(node, range); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#49
def uppercase?(name); end

end

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#7 RuboCop::Cop::UncommunicativeName::CASE_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#10 RuboCop::Cop::UncommunicativeName::FORBIDDEN_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#9 RuboCop::Cop::UncommunicativeName::LENGTH_MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/cop/mixin/uncommunicative_name.rb#8 RuboCop::Cop::UncommunicativeName::NUM_MSG = T.let(T.unsafe(nil), String)

# This autocorrects unused arguments. # # source://rubocop//lib/rubocop/cop/correctors/unused_arg_corrector.rb#6 class RuboCop::Cop::UnusedArgCorrector

extend ::RuboCop::Cop::RangeHelp

class << self
  # source://rubocop//lib/rubocop/cop/correctors/unused_arg_corrector.rb#12
  def correct(corrector, processed_source, node); end

  # source://rubocop//lib/rubocop/cop/correctors/unused_arg_corrector.rb#31
  def correct_for_blockarg_type(corrector, node); end

  # Returns the value of attribute processed_source.
  #
  # source://rubocop//lib/rubocop/cop/correctors/unused_arg_corrector.rb#10
  def processed_source; end
end

end

# This module contains a collection of useful utility methods. # # source://rubocop//lib/rubocop/cop/util.rb#7 module RuboCop::Cop::Util

include ::RuboCop::PathUtil

private

# source://rubocop//lib/rubocop/cop/util.rb#35
def add_parentheses(node, corrector); end

# source://rubocop//lib/rubocop/cop/util.rb#56
def any_descendant?(node, *types); end

# source://rubocop//lib/rubocop/cop/util.rb#71
def args_begin(node); end

# source://rubocop//lib/rubocop/cop/util.rb#83
def args_end(node); end

# source://rubocop//lib/rubocop/cop/util.rb#104
def begins_its_line?(range); end

# This is a bad API
#
# source://rubocop//lib/rubocop/cop/util.rb#17
def comment_line?(line_source); end

# @deprecated Use `ProcessedSource#line_with_comment?`, `contains_comment?` or similar
#
# source://rubocop//lib/rubocop/cop/util.rb#22
def comment_lines?(node); end

# source://rubocop//lib/rubocop/cop/util.rb#192
def compatible_external_encoding_for?(src); end

# If converting a string to Ruby string literal source code, must
# double quotes be used?
#
# source://rubocop//lib/rubocop/cop/util.rb#130
def double_quotes_required?(string); end

# source://rubocop//lib/rubocop/cop/util.rb#144
def escape_string(string); end

# Returns, for example, a bare `if` node if the given node is an `if`
# with calls chained to the end of it.
#
# source://rubocop//lib/rubocop/cop/util.rb#114
def first_part_of_call_chain(node); end

# source://rubocop//lib/rubocop/cop/util.rb#197
def include_or_equal?(source, target); end

# source://rubocop//lib/rubocop/cop/util.rb#179
def indent(node, offset: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/util.rb#161
def interpret_string_escapes(string); end

# source://rubocop//lib/rubocop/cop/util.rb#165
def line(node_or_range); end

# source://rubocop//lib/rubocop/cop/util.rb#26
def line_range(node); end

# source://rubocop//lib/rubocop/cop/util.rb#140
def needs_escaping?(string); end

# source://rubocop//lib/rubocop/cop/util.rb#87
def on_node(syms, sexp, excludes = T.unsafe(nil), &block); end

# source://rubocop//lib/rubocop/cop/util.rb#30
def parentheses?(node); end

# source://rubocop//lib/rubocop/cop/util.rb#173
def same_line?(node1, node2); end

# source://rubocop//lib/rubocop/cop/util.rb#148
def to_string_literal(string); end

# source://rubocop//lib/rubocop/cop/util.rb#185
def to_supported_styles(enforced_style); end

# source://rubocop//lib/rubocop/cop/util.rb#157
def trim_string_interpolation_escape_character(str); end

class << self
  # source://rubocop//lib/rubocop/cop/util.rb#35
  def add_parentheses(node, corrector); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/util.rb#56
  def any_descendant?(node, *types); end

  # source://rubocop//lib/rubocop/cop/util.rb#71
  def args_begin(node); end

  # source://rubocop//lib/rubocop/cop/util.rb#83
  def args_end(node); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/util.rb#104
  def begins_its_line?(range); end

  # This is a bad API
  #
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/util.rb#17
  def comment_line?(line_source); end

  # @deprecated Use `ProcessedSource#line_with_comment?`, `contains_comment?` or similar
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/util.rb#22
  def comment_lines?(node); end

  # If converting a string to Ruby string literal source code, must
  # double quotes be used?
  #
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/util.rb#130
  def double_quotes_required?(string); end

  # source://rubocop//lib/rubocop/cop/util.rb#144
  def escape_string(string); end

  # Returns, for example, a bare `if` node if the given node is an `if`
  # with calls chained to the end of it.
  #
  # source://rubocop//lib/rubocop/cop/util.rb#114
  def first_part_of_call_chain(node); end

  # source://rubocop//lib/rubocop/cop/util.rb#179
  def indent(node, offset: T.unsafe(nil)); end

  # source://rubocop//lib/rubocop/cop/util.rb#161
  def interpret_string_escapes(string); end

  # source://rubocop//lib/rubocop/cop/util.rb#165
  def line(node_or_range); end

  # source://rubocop//lib/rubocop/cop/util.rb#26
  def line_range(node); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/util.rb#140
  def needs_escaping?(string); end

  # @yield [sexp]
  #
  # source://rubocop//lib/rubocop/cop/util.rb#87
  def on_node(syms, sexp, excludes = T.unsafe(nil), &block); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/util.rb#30
  def parentheses?(node); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/cop/util.rb#173
  def same_line?(node1, node2); end

  # source://rubocop//lib/rubocop/cop/util.rb#148
  def to_string_literal(string); end

  # source://rubocop//lib/rubocop/cop/util.rb#185
  def to_supported_styles(enforced_style); end

  # source://rubocop//lib/rubocop/cop/util.rb#157
  def trim_string_interpolation_escape_character(str); end
end

end

# source://rubocop//lib/rubocop/cop/util.rb#99 RuboCop::Cop::Util::LINE_BEGINS_REGEX_CACHE = T.let(T.unsafe(nil), Hash)

# Match literal regex characters, not including anchors, character # classes, alternatives, groups, repetitions, references, etc # # source://rubocop//lib/rubocop/cop/util.rb#12 RuboCop::Cop::Util::LITERAL_REGEX = T.let(T.unsafe(nil), Regexp)

# Arbitrarily chosen value, should be enough to cover # the most nested source code in real world projects. # # source://rubocop//lib/rubocop/cop/util.rb#98 RuboCop::Cop::Util::MAX_LINE_BEGINS_REGEX_INDEX = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#5 module RuboCop::Cop::Utils; end

# Parses {Kernel#sprintf} format strings. # # source://rubocop//lib/rubocop/cop/utils/format_string.rb#7 class RuboCop::Cop::Utils::FormatString

# @return [FormatString] a new instance of FormatString
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#89
def initialize(string); end

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#93
def format_sequences; end

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#105
def max_digit_dollar_num; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#101
def named_interpolation?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#97
def valid?; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#117
def mixed_formats?; end

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#111
def parse; end

end

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#8 RuboCop::Cop::Utils::FormatString::DIGIT_DOLLAR = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#9 RuboCop::Cop::Utils::FormatString::FLAG = T.let(T.unsafe(nil), Regexp)

# The syntax of a format sequence is as follows. # # “‘ # %[flags][.precision]type # “` # # A format sequence consists of a percent sign, followed by optional # flags, width, and precision indicators, then terminated with a field # type character. # # For more complex formatting, Ruby supports a reference by name. # # @see ruby-doc.org/core-2.6.3/Kernel.html#method-i-format # # source://rubocop//lib/rubocop/cop/utils/format_string.rb#43 class RuboCop::Cop::Utils::FormatString::FormatSequence

# @return [FormatSequence] a new instance of FormatSequence
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#46
def initialize(match); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#61
def annotated?; end

# Number of arguments required for the format sequence
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#70
def arity; end

# Returns the value of attribute begin_pos.
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#44
def begin_pos; end

# Returns the value of attribute end_pos.
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#44
def end_pos; end

# Returns the value of attribute flags.
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#44
def flags; end

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#74
def max_digit_dollar_num; end

# Returns the value of attribute name.
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#44
def name; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#57
def percent?; end

# Returns the value of attribute precision.
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#44
def precision; end

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#78
def style; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#65
def template?; end

# Returns the value of attribute type.
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#44
def type; end

# Returns the value of attribute width.
#
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#44
def width; end

end

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#15 RuboCop::Cop::Utils::FormatString::NAME = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#11 RuboCop::Cop::Utils::FormatString::NUMBER = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#10 RuboCop::Cop::Utils::FormatString::NUMBER_ARG = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#13 RuboCop::Cop::Utils::FormatString::PRECISION = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#18 RuboCop::Cop::Utils::FormatString::SEQUENCE = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#16 RuboCop::Cop::Utils::FormatString::TEMPLATE_NAME = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#14 RuboCop::Cop::Utils::FormatString::TYPE = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/cop/utils/format_string.rb#12 RuboCop::Cop::Utils::FormatString::WIDTH = T.let(T.unsafe(nil), Regexp)

# Helper to abstract complexity of building range pairs # with octal escape reconstruction (needed for regexp_parser < 2.7). # # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#8 class RuboCop::Cop::Utils::RegexpRanges

# @return [RegexpRanges] a new instance of RegexpRanges
#
# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#11
def initialize(root); end

# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#18
def compound_token; end

# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#24
def pairs; end

# Returns the value of attribute root.
#
# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#9
def root; end

private

# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#78
def compose_range(expressions, current); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#90
def escaped_octal?(expr); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#94
def octal_digit?(char); end

# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#98
def pop_octal_digits(expressions); end

# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#44
def populate(expr); end

# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#32
def populate_all; end

# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#63
def process_set(expressions, current); end

end

# This force provides a way to track local variables and scopes of Ruby. # Cops interact with this force need to override some of the hook methods. # # def before_entering_scope(scope, variable_table) # end # # def after_entering_scope(scope, variable_table) # end # # def before_leaving_scope(scope, variable_table) # end # # def after_leaving_scope(scope, variable_table) # end # # def before_declaring_variable(variable, variable_table) # end # # def after_declaring_variable(variable, variable_table) # end # # @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#27 class RuboCop::Cop::VariableForce < ::RuboCop::Cop::Force

# Starting point.
#
# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#76
def investigate(processed_source); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#85
def process_node(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#71
def variable_table; end

private

# source://rubocop//lib/rubocop/cop/variable_force.rb#368
def after_declaring_variable(arg); end

# source://rubocop//lib/rubocop/cop/variable_force.rb#368
def after_entering_scope(arg); end

# source://rubocop//lib/rubocop/cop/variable_force.rb#368
def after_leaving_scope(arg); end

# source://rubocop//lib/rubocop/cop/variable_force.rb#368
def before_declaring_variable(arg); end

# source://rubocop//lib/rubocop/cop/variable_force.rb#368
def before_entering_scope(arg); end

# source://rubocop//lib/rubocop/cop/variable_force.rb#368
def before_leaving_scope(arg); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#339
def descendant_reference(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#329
def each_descendant_reference(loop_node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#314
def find_variables_in_loop(loop_node); end

# This is called for each scope recursively.
#
# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#94
def inspect_variables_in_scope(scope_node); end

# Mark all assignments which are referenced in the same loop
# as referenced by ignoring AST order since they would be referenced
# in next iteration.
#
# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#295
def mark_assignments_as_referenced_in_loop(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#126
def node_handler_method_name(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#100
def process_children(origin_node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#231
def process_loop(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#160
def process_regexp_named_captures(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#246
def process_rescue(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#265
def process_scope(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#284
def process_send(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#142
def process_variable_assignment(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#130
def process_variable_declaration(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#219
def process_variable_multiple_assignment(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#184
def process_variable_operator_assignment(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#226
def process_variable_referencing(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#257
def process_zero_arity_super(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#178
def regexp_captured_names(node); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#351
def scanned_node?(node); end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#355
def scanned_nodes; end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#108
def skip_children!; end

# @api private
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#278
def twisted_nodes(node); end

end

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#32 RuboCop::Cop::VariableForce::ARGUMENT_DECLARATION_TYPES = T.let(T.unsafe(nil), Array)

# This class represents each assignment of a variable. # # source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#7 class RuboCop::Cop::VariableForce::Assignment

include ::RuboCop::Cop::VariableForce::Branchable

# @return [Assignment] a new instance of Assignment
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#16
def initialize(node, variable); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#50
def exception_assignment?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#72
def for_assignment?; end

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#83
def meta_assignment_node; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#60
def multiple_assignment?; end

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#29
def name; end

# Returns the value of attribute node.
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#12
def node; end

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#78
def operator; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#54
def operator_assignment?; end

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#37
def reference!(node); end

# Returns the value of attribute referenced.
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#12
def referenced; end

# Returns the value of attribute referenced.
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#12
def referenced?; end

# Returns the value of attribute references.
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#12
def references; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#46
def regexp_named_capture?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#66
def rest_assignment?; end

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#33
def scope; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#42
def used?; end

# Returns the value of attribute variable.
#
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#12
def variable; end

private

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#125
def find_multiple_assignment_node(grandparent_node); end

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#121
def for_assignment_node; end

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#104
def multiple_assignment_node; end

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#96
def operator_assignment_node; end

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#114
def rest_assignment_node; end

end

# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#10 RuboCop::Cop::VariableForce::Assignment::MULTIPLE_LEFT_HAND_SIDE_TYPE = T.let(T.unsafe(nil), Symbol)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#65 class RuboCop::Cop::VariableForce::AssignmentReference < ::Struct

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#66
def assignment?; end

# Returns the value of attribute node
#
# @return [Object] the current value of node
def node; end

# Sets the attribute node
#
# @param value [Object] the value to set the attribute node to.
# @return [Object] the newly set value
def node=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# Namespace for branch classes for each control structure. # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#7 module RuboCop::Cop::VariableForce::Branch

class << self
  # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#8
  def of(target_node, scope: T.unsafe(nil)); end
end

end

# left_body && right_body # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#265 class RuboCop::Cop::VariableForce::Branch::And < ::RuboCop::Cop::VariableForce::Branch::Base

include ::RuboCop::Cop::VariableForce::Branch::LogicalOperator

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def left_body?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def right_body?; end

end

# Abstract base class for branch classes. # A branch represents a conditional branch in a scope. # # @example # def some_scope # do_something # no branch # # if foo # do_something # branch A # do_something # branch A # else # do_something # branch B # if bar # do_something # branch C (whose parent is branch B) # end # end # # do_something # no branch # end # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#42 class RuboCop::Cop::VariableForce::Branch::Base < ::Struct

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#121
def ==(other); end

# @raise [NotImplementedError]
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#92
def always_run?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#88
def branched?; end

# Returns the value of attribute child_node
#
# @return [Object] the current value of child_node
def child_node; end

# Sets the attribute child_node
#
# @param value [Object] the value to set the attribute child_node to.
# @return [Object] the newly set value
def child_node=(_); end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#70
def control_node; end

# @yield [_self]
# @yieldparam _self [RuboCop::Cop::VariableForce::Branch::Base] the object that the method was called on
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#80
def each_ancestor(include_self: T.unsafe(nil), &block); end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#121
def eql?(other); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#104
def exclusive_with?(other); end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#129
def hash; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#96
def may_jump_to_other_branch?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#100
def may_run_incompletely?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#74
def parent; end

# Returns the value of attribute scope
#
# @return [Object] the current value of scope
def scope; end

# Sets the attribute scope
#
# @param value [Object] the value to set the attribute scope to.
# @return [Object] the newly set value
def scope=(_); end

private

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#135
def scan_ancestors; end

class << self
  def [](*_arg0); end

  # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#43
  def classes; end

  # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#56
  def define_predicate(name, child_index: T.unsafe(nil)); end

  # @private
  #
  # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#47
  def inherited(subclass); end

  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end

  # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#52
  def type; end
end

end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#325 RuboCop::Cop::VariableForce::Branch::CLASSES_BY_TYPE = T.let(T.unsafe(nil), Hash)

# case target # when /pattern/ # when_clause # else # else_body # end # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#219 class RuboCop::Cop::VariableForce::Branch::Case < ::RuboCop::Cop::VariableForce::Branch::Base

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#224
def always_run?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def else_body?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def target?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def when_clause?; end

end

# case target # in pattern # in_pattern # else # else_body # end # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#234 class RuboCop::Cop::VariableForce::Branch::CaseMatch < ::RuboCop::Cop::VariableForce::Branch::Base

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#239
def always_run?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def else_body?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def in_pattern?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def target?; end

end

# begin # main_body # ensure # ensure_body # end # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#314 class RuboCop::Cop::VariableForce::Branch::Ensure < ::RuboCop::Cop::VariableForce::Branch::Base

include ::RuboCop::Cop::VariableForce::Branch::ExceptionHandler

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#320
def always_run?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def ensure_body?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def main_body?; end

end

# Mix-in module for exception handling control structures. # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#281 module RuboCop::Cop::VariableForce::Branch::ExceptionHandler

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#282
def may_jump_to_other_branch?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#286
def may_run_incompletely?; end

end

# for element in collection # loop_body # end # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#247 class RuboCop::Cop::VariableForce::Branch::For < ::RuboCop::Cop::VariableForce::Branch::Base

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#252
def always_run?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def collection?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def element?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def loop_body?; end

end

# if conditional_clause # truthy_body # else # falsey_body # end # # unless conditional_clause # falsey_body # else # truthy_body # end # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#166 class RuboCop::Cop::VariableForce::Branch::If < ::RuboCop::Cop::VariableForce::Branch::Base

include ::RuboCop::Cop::VariableForce::Branch::SimpleConditional

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def conditional_clause?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def falsey_body?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def truthy_body?; end

end

# Mix-in module for logical operator control structures. # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#258 module RuboCop::Cop::VariableForce::Branch::LogicalOperator

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#259
def always_run?; end

end

# left_body || right_body # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#273 class RuboCop::Cop::VariableForce::Branch::Or < ::RuboCop::Cop::VariableForce::Branch::Base

include ::RuboCop::Cop::VariableForce::Branch::LogicalOperator

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def left_body?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def right_body?; end

end

# begin # main_body # rescue StandardError => error # rescue_clause # else # else_body # end # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#297 class RuboCop::Cop::VariableForce::Branch::Rescue < ::RuboCop::Cop::VariableForce::Branch::Base

include ::RuboCop::Cop::VariableForce::Branch::ExceptionHandler

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#304
def always_run?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def else_body?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def main_body?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def rescue_clause?; end

end

# Mix-in module for simple conditional control structures. # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#145 module RuboCop::Cop::VariableForce::Branch::SimpleConditional

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#150
def always_run?; end

# @raise [NotImplementedError]
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#146
def conditional_clause?; end

end

# until conditional_clause # loop_body # end # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#187 class RuboCop::Cop::VariableForce::Branch::Until < ::RuboCop::Cop::VariableForce::Branch::Base

include ::RuboCop::Cop::VariableForce::Branch::SimpleConditional

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def conditional_clause?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def loop_body?; end

end

# begin # loop_body # end until conditional_clause # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#207 class RuboCop::Cop::VariableForce::Branch::UntilPost < ::RuboCop::Cop::VariableForce::Branch::Base

include ::RuboCop::Cop::VariableForce::Branch::SimpleConditional

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def conditional_clause?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def loop_body?; end

end

# while conditional_clause # loop_body # end # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#177 class RuboCop::Cop::VariableForce::Branch::While < ::RuboCop::Cop::VariableForce::Branch::Base

include ::RuboCop::Cop::VariableForce::Branch::SimpleConditional

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def conditional_clause?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def loop_body?; end

end

# begin # loop_body # end while conditional_clause # # source://rubocop//lib/rubocop/cop/variable_force/branch.rb#197 class RuboCop::Cop::VariableForce::Branch::WhilePost < ::RuboCop::Cop::VariableForce::Branch::Base

include ::RuboCop::Cop::VariableForce::Branch::SimpleConditional

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def conditional_clause?; end

# source://rubocop//lib/rubocop/cop/variable_force/branch.rb#57
def loop_body?; end

end

# Mix-in module for classes which own a node and need branch information # of the node. The user classes must implement node and scope. # # source://rubocop//lib/rubocop/cop/variable_force/branchable.rb#8 module RuboCop::Cop::VariableForce::Branchable

# source://rubocop//lib/rubocop/cop/variable_force/branchable.rb#9
def branch; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/branchable.rb#15
def run_exclusively_with?(other); end

end

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#39 RuboCop::Cop::VariableForce::LOGICAL_OPERATOR_ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#48 RuboCop::Cop::VariableForce::LOOP_TYPES = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#42 RuboCop::Cop::VariableForce::MULTIPLE_ASSIGNMENT_TYPE = T.let(T.unsafe(nil), Symbol)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#112 RuboCop::Cop::VariableForce::NODE_HANDLER_METHOD_NAMES = T.let(T.unsafe(nil), Hash)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#40 RuboCop::Cop::VariableForce::OPERATOR_ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#47 RuboCop::Cop::VariableForce::POST_CONDITION_LOOP_TYPES = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#29 RuboCop::Cop::VariableForce::REGEXP_NAMED_CAPTURE_TYPE = T.let(T.unsafe(nil), Symbol)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#50 RuboCop::Cop::VariableForce::RESCUE_TYPE = T.let(T.unsafe(nil), Symbol)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#43 RuboCop::Cop::VariableForce::REST_ASSIGNMENT_TYPE = T.let(T.unsafe(nil), Symbol)

# This class represents each reference of a variable. # # source://rubocop//lib/rubocop/cop/variable_force/reference.rb#7 class RuboCop::Cop::VariableForce::Reference

include ::RuboCop::Cop::VariableForce::Branchable

# @return [Reference] a new instance of Reference
#
# source://rubocop//lib/rubocop/cop/variable_force/reference.rb#16
def initialize(node, scope); end

# There's an implicit variable reference by the zero-arity `super`:
#
#     def some_method(foo)
#       super
#     end
#
# Another case is `binding`:
#
#     def some_method(foo)
#       do_something(binding)
#     end
#
# In these cases, the variable `foo` is not explicitly referenced,
# but it can be considered used implicitly by the `super` or `binding`.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/reference.rb#41
def explicit?; end

# Returns the value of attribute node.
#
# source://rubocop//lib/rubocop/cop/variable_force/reference.rb#14
def node; end

# Returns the value of attribute scope.
#
# source://rubocop//lib/rubocop/cop/variable_force/reference.rb#14
def scope; end

end

# source://rubocop//lib/rubocop/cop/variable_force/reference.rb#10 RuboCop::Cop::VariableForce::Reference::VARIABLE_REFERENCE_TYPES = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#55 RuboCop::Cop::VariableForce::SCOPE_TYPES = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#57 RuboCop::Cop::VariableForce::SEND_TYPE = T.let(T.unsafe(nil), Symbol)

# A Scope represents a context of local variable visibility. # This is a place where local variables belong to. # A scope instance holds a scope node and variable entries. # # source://rubocop//lib/rubocop/cop/variable_force/scope.rb#9 class RuboCop::Cop::VariableForce::Scope

# @return [Scope] a new instance of Scope
#
# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#22
def initialize(node); end

# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#35
def ==(other); end

# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#43
def body_node; end

# @yield [node]
#
# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#61
def each_node(&block); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#57
def include?(target_node); end

# Returns the value of attribute naked_top_level.
#
# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#18
def naked_top_level; end

# Returns the value of attribute naked_top_level.
#
# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#18
def naked_top_level?; end

# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#39
def name; end

# Returns the value of attribute node.
#
# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#18
def node; end

# Returns the value of attribute variables.
#
# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#18
def variables; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#100
def ancestor_node?(target_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#90
def belong_to_inner_scope?(target_node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#79
def belong_to_outer_scope?(target_node); end

# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#70
def scan_node(node, &block); end

end

# source://rubocop//lib/rubocop/cop/variable_force/scope.rb#10 RuboCop::Cop::VariableForce::Scope::OUTER_SCOPE_CHILD_INDICES = T.let(T.unsafe(nil), Hash)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#54 RuboCop::Cop::VariableForce::TWISTED_SCOPE_TYPES = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#28 RuboCop::Cop::VariableForce::VARIABLE_ASSIGNMENT_TYPE = T.let(T.unsafe(nil), Symbol)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#30 RuboCop::Cop::VariableForce::VARIABLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#45 RuboCop::Cop::VariableForce::VARIABLE_REFERENCE_TYPE = T.let(T.unsafe(nil), Symbol)

# A Variable represents existence of a local variable. # This holds a variable declaration node and some states of the variable. # # source://rubocop//lib/rubocop/cop/variable_force/variable.rb#8 class RuboCop::Cop::VariableForce::Variable

# @return [Variable] a new instance of Variable
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#15
def initialize(name, declaration_node, scope); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#94
def argument?; end

# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#31
def assign(node); end

# Returns the value of attribute assignments.
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#11
def assignments; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#102
def block_argument?; end

# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#74
def capture_with_block!; end

# Returns the value of attribute captured_by_block.
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#11
def captured_by_block; end

# Returns the value of attribute captured_by_block.
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#11
def captured_by_block?; end

# Returns the value of attribute declaration_node.
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#11
def declaration_node; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#110
def explicit_block_local_variable?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#66
def in_modifier_conditional?(assignment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#106
def keyword_argument?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#98
def method_argument?; end

# Returns the value of attribute name.
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#11
def name; end

# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#40
def reference!(node); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#35
def referenced?; end

# Returns the value of attribute references.
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#11
def references; end

# Returns the value of attribute scope.
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#11
def scope; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#90
def should_be_unused?; end

# This is a convenient way to check whether the variable is used
# in its entire variable lifetime.
# For more precise usage check, refer Assignment#used?.
#
# Once the variable is captured by a block, we have no idea
# when, where, and how many times the block would be invoked.
# This means we cannot track the usage of the variable.
# So we consider it's used to suppress false positive offenses.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#86
def used?; end

end

# source://rubocop//lib/rubocop/cop/variable_force/variable.rb#9 RuboCop::Cop::VariableForce::Variable::VARIABLE_DECLARATION_TYPES = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#59 class RuboCop::Cop::VariableForce::VariableReference < ::Struct

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force.rb#60
def assignment?; end

# Returns the value of attribute name
#
# @return [Object] the current value of name
def name; end

# Sets the attribute name
#
# @param value [Object] the value to set the attribute name to.
# @return [Object] the newly set value
def name=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# A VariableTable manages the lifetime of all scopes and local variables # in a program. # This holds scopes as stack structure, provides a way to add local # variables to current scope, and find local variables by considering # variable visibility of the current scope. # # source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#11 class RuboCop::Cop::VariableForce::VariableTable

# @return [VariableTable] a new instance of VariableTable
#
# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#12
def initialize(hook_receiver = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#113
def accessible_variables; end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#56
def assign_to_variable(name, node); end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#40
def current_scope; end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#44
def current_scope_level; end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#48
def declare_variable(name, node); end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#94
def find_variable(name); end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#16
def invoke_hook(hook_name, *args); end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#32
def pop_scope; end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#24
def push_scope(scope_node); end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#68
def reference_variable(name, node); end

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#20
def scope_stack; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#109
def variable_exist?(name); end

private

# source://rubocop//lib/rubocop/cop/variable_force/variable_table.rb#122
def mark_variable_as_captured_by_block_if_so(variable); end

end

# @api private # # source://rubocop//lib/rubocop/cop/variable_force.rb#52 RuboCop::Cop::VariableForce::ZERO_ARITY_SUPER_TYPE = T.let(T.unsafe(nil), Symbol)

# Help methods for determining node visibility. # # source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#8 module RuboCop::Cop::VisibilityHelp

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#57
def visibility_block?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#62
def visibility_inline_on_def?(param0 = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#67
def visibility_inline_on_method_name?(param0 = T.unsafe(nil), method_name:); end

private

# Navigate to find the last protected method
#
# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#48
def find_visibility_end(node); end

# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#43
def find_visibility_start(node); end

# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#15
def node_visibility(node); end

# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#39
def node_visibility_from_visibility_block(node); end

# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#21
def node_visibility_from_visibility_inline(node); end

# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#28
def node_visibility_from_visibility_inline_on_def(node); end

# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#33
def node_visibility_from_visibility_inline_on_method_name(node); end

end

# source://rubocop//lib/rubocop/cop/mixin/visibility_help.rb#11 RuboCop::Cop::VisibilityHelp::VISIBILITY_SCOPES = T.let(T.unsafe(nil), Set)

# This class wraps the ‘Parser::Source::Comment` object that represents a # cops it contains. # # source://rubocop//lib/rubocop/directive_comment.rb#7 class RuboCop::DirectiveComment

# @return [DirectiveComment] a new instance of DirectiveComment
#
# source://rubocop//lib/rubocop/directive_comment.rb#32
def initialize(comment, cop_registry = T.unsafe(nil)); end

# Checks if all cops specified in this directive
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/directive_comment.rb#82
def all_cops?; end

# Returns the value of attribute comment.
#
# source://rubocop//lib/rubocop/directive_comment.rb#30
def comment; end

# Returns array of specified in this directive cop names
#
# source://rubocop//lib/rubocop/directive_comment.rb#87
def cop_names; end

# Returns the value of attribute cop_registry.
#
# source://rubocop//lib/rubocop/directive_comment.rb#30
def cop_registry; end

# Returns the value of attribute cops.
#
# source://rubocop//lib/rubocop/directive_comment.rb#30
def cops; end

# Returns array of specified in this directive department names
# when all department disabled
#
# source://rubocop//lib/rubocop/directive_comment.rb#93
def department_names; end

# source://rubocop//lib/rubocop/directive_comment.rb#107
def directive_count; end

# Checks if this directive disables cops
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/directive_comment.rb#62
def disabled?; end

# Checks if this directive disables all cops
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/directive_comment.rb#77
def disabled_all?; end

# Checks if this directive enables cops
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/directive_comment.rb#67
def enabled?; end

# Checks if this directive enables all cops
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/directive_comment.rb#72
def enabled_all?; end

# Checks if directive departments include cop
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/directive_comment.rb#98
def in_directive_department?(cop); end

# Returns line number for directive
#
# source://rubocop//lib/rubocop/directive_comment.rb#112
def line_number; end

# Checks if this directive contains all the given cop names
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/directive_comment.rb#44
def match?(cop_names); end

# Returns match captures to directive comment pattern
#
# source://rubocop//lib/rubocop/directive_comment.rb#57
def match_captures; end

# Returns the value of attribute mode.
#
# source://rubocop//lib/rubocop/directive_comment.rb#30
def mode; end

# Checks if cop department has already used in directive comment
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/directive_comment.rb#103
def overridden_by_department?(cop); end

# source://rubocop//lib/rubocop/directive_comment.rb#48
def range; end

# Checks if this directive relates to single line
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/directive_comment.rb#39
def single_line?; end

private

# source://rubocop//lib/rubocop/directive_comment.rb#133
def all_cop_names; end

# source://rubocop//lib/rubocop/directive_comment.rb#137
def cop_names_for_department(department); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/directive_comment.rb#129
def department?(name); end

# source://rubocop//lib/rubocop/directive_comment.rb#142
def exclude_lint_department_cops(cops); end

# source://rubocop//lib/rubocop/directive_comment.rb#122
def parsed_cop_names; end

# source://rubocop//lib/rubocop/directive_comment.rb#118
def splitted_cops_string; end

class << self
  # source://rubocop//lib/rubocop/directive_comment.rb#26
  def before_comment(line); end
end

end

# @api private # # source://rubocop//lib/rubocop/directive_comment.rb#19 RuboCop::DirectiveComment::COPS_PATTERN = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/directive_comment.rb#17 RuboCop::DirectiveComment::COP_NAMES_PATTERN = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/directive_comment.rb#15 RuboCop::DirectiveComment::COP_NAME_PATTERN = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/directive_comment.rb#21 RuboCop::DirectiveComment::DIRECTIVE_COMMENT_REGEXP = T.let(T.unsafe(nil), Regexp)

# @api private # # source://rubocop//lib/rubocop/directive_comment.rb#9 RuboCop::DirectiveComment::LINT_DEPARTMENT = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/directive_comment.rb#11 RuboCop::DirectiveComment::LINT_REDUNDANT_DIRECTIVE_COP = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/directive_comment.rb#13 RuboCop::DirectiveComment::LINT_SYNTAX_COP = T.let(T.unsafe(nil), String)

# An Error exception is different from an Offense with severity ‘error’ # When this exception is raised, it means that RuboCop is unable to perform # a requested action (probably due to misconfiguration) and must stop # immediately, rather than carrying on # # source://rubocop//lib/rubocop/error.rb#8 class RuboCop::Error < ::StandardError; end

# A wrapper to display errored location of analyzed file. # # source://rubocop//lib/rubocop/error.rb#13 class RuboCop::ErrorWithAnalyzedFileLocation < ::RuboCop::Error

# @return [ErrorWithAnalyzedFileLocation] a new instance of ErrorWithAnalyzedFileLocation
#
# source://rubocop//lib/rubocop/error.rb#14
def initialize(cause:, node:, cop:); end

# Returns the value of attribute cause.
#
# source://rubocop//lib/rubocop/error.rb#21
def cause; end

# source://rubocop//lib/rubocop/error.rb#27
def column; end

# Returns the value of attribute cop.
#
# source://rubocop//lib/rubocop/error.rb#21
def cop; end

# source://rubocop//lib/rubocop/error.rb#23
def line; end

# source://rubocop//lib/rubocop/error.rb#31
def message; end

end

# Allows specified configuration options to have an exclude limit # ie. a maximum value tracked that it can be used by ‘–auto-gen-config`. # # source://rubocop//lib/rubocop/cop/exclude_limit.rb#6 module RuboCop::ExcludeLimit

# Sets up a configuration option to have an exclude limit tracked.
# The parameter name given is transformed into a method name (eg. `Max`
# becomes `self.max=` and `MinDigits` becomes `self.min_digits=`).
#
# source://rubocop//lib/rubocop/cop/exclude_limit.rb#10
def exclude_limit(parameter_name, method_name: T.unsafe(nil)); end

private

# source://rubocop//lib/rubocop/cop/exclude_limit.rb#22
def transform(parameter_name); end

end

# source://rubocop//lib/rubocop/ext/comment.rb#4 module RuboCop::Ext; end

# Extensions to ‘Parser::Source::Comment`. # # source://rubocop//lib/rubocop/ext/comment.rb#6 module RuboCop::Ext::Comment

# source://rubocop//lib/rubocop/ext/comment.rb#7
def source; end

# source://rubocop//lib/rubocop/ext/comment.rb#11
def source_range; end

end

# Extensions to AST::ProcessedSource for our cached comment_config # # source://rubocop//lib/rubocop/ext/processed_source.rb#6 module RuboCop::Ext::ProcessedSource

# source://rubocop//lib/rubocop/ext/processed_source.rb#9
def comment_config; end

# Returns the value of attribute config.
#
# source://rubocop//lib/rubocop/ext/processed_source.rb#7
def config; end

# Sets the attribute config
#
# @param value the value to set the attribute config to.
#
# source://rubocop//lib/rubocop/ext/processed_source.rb#7
def config=(_arg0); end

# source://rubocop//lib/rubocop/ext/processed_source.rb#13
def disabled_line_ranges; end

# Returns the value of attribute registry.
#
# source://rubocop//lib/rubocop/ext/processed_source.rb#7
def registry; end

# Sets the attribute registry
#
# @param value the value to set the attribute registry to.
#
# source://rubocop//lib/rubocop/ext/processed_source.rb#7
def registry=(_arg0); end

end

# Extensions to Parser::Source::Range # # source://rubocop//lib/rubocop/ext/range.rb#6 module RuboCop::Ext::Range

# Adds `Range#single_line?` to parallel `Node#single_line?`
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/ext/range.rb#8
def single_line?; end

end

# Extensions to AST::RegexpNode for our cached parsed regexp info # # source://rubocop//lib/rubocop/ext/regexp_node.rb#6 module RuboCop::Ext::RegexpNode

# Please remove this `else` branch when support for regexp_parser 1.8 will be dropped.
# It's for compatibility with regexp_parser 1.8 and will never be maintained.
#
# source://rubocop//lib/rubocop/ext/regexp_node.rb#19
def assign_properties(*_arg0); end

# source://rubocop//lib/rubocop/ext/regexp_node.rb#53
def each_capture(named: T.unsafe(nil)); end

# Note: we extend Regexp nodes to provide `loc` and `expression`
# see `ext/regexp_parser`.
#
# @return [Regexp::Expression::Root, nil]
#
# source://rubocop//lib/rubocop/ext/regexp_node.rb#16
def parsed_tree; end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/ext/regexp_node.rb#65
def named_capturing?(exp, event, named); end

# source://rubocop//lib/rubocop/ext/regexp_node.rb#73
def with_interpolations_blanked; end

end

# source://rubocop//lib/rubocop/ext/regexp_node.rb#7 RuboCop::Ext::RegexpNode::ANY = T.let(T.unsafe(nil), Object)

# Extensions for ‘regexp_parser` gem # # source://rubocop//lib/rubocop/ext/regexp_parser.rb#6 module RuboCop::Ext::RegexpParser; end

# source://rubocop//lib/rubocop/ext/regexp_parser.rb#20 module RuboCop::Ext::RegexpParser::Expression; end

# Add ‘expression` and `loc` to all `regexp_parser` nodes # # source://rubocop//lib/rubocop/ext/regexp_parser.rb#22 module RuboCop::Ext::RegexpParser::Expression::Base

# Shortcut to `loc.expression`
#
# source://rubocop//lib/rubocop/ext/regexp_parser.rb#27
def expression; end

# E.g.
#     [a-z]{2,}
#     ^^^^^^^^^ expression
#          ^^^^ quantifier
#     ^^^^^     body
#     ^         begin
#         ^     end
#
# Please open issue if you need other locations
#
# source://rubocop//lib/rubocop/ext/regexp_parser.rb#61
def loc; end

# Returns the value of attribute origin.
#
# source://rubocop//lib/rubocop/ext/regexp_parser.rb#23
def origin; end

# Sets the attribute origin
#
# @param value the value to set the attribute origin to.
#
# source://rubocop//lib/rubocop/ext/regexp_parser.rb#23
def origin=(_arg0); end

private

# source://rubocop//lib/rubocop/ext/regexp_parser.rb#67
def build_location; end

end

# Provide ‘CharacterSet` with `begin` and `end` locations. # # source://rubocop//lib/rubocop/ext/regexp_parser.rb#79 module RuboCop::Ext::RegexpParser::Expression::CharacterSet

# source://rubocop//lib/rubocop/ext/regexp_parser.rb#80
def build_location; end

end

# Source map for RegexpParser nodes # # source://rubocop//lib/rubocop/ext/regexp_parser.rb#8 class RuboCop::Ext::RegexpParser::Map < ::Parser::Source::Map

# @return [Map] a new instance of Map
#
# source://rubocop//lib/rubocop/ext/regexp_parser.rb#11
def initialize(expression, body:, quantifier: T.unsafe(nil), begin_l: T.unsafe(nil), end_l: T.unsafe(nil)); end

# Returns the value of attribute begin.
#
# source://rubocop//lib/rubocop/ext/regexp_parser.rb#9
def begin; end

# Returns the value of attribute body.
#
# source://rubocop//lib/rubocop/ext/regexp_parser.rb#9
def body; end

# Returns the value of attribute end.
#
# source://rubocop//lib/rubocop/ext/regexp_parser.rb#9
def end; end

# Returns the value of attribute quantifier.
#
# source://rubocop//lib/rubocop/ext/regexp_parser.rb#9
def quantifier; end

end

# This class handles loading files (a.k.a. features in Ruby) specified # by ‘–require` command line option and `require` directive in the config. # # Normally, the given string is directly passed to `require`. If a string # beginning with `.` is given, it is assumed to be relative to the given # directory. # # If a string containing `-` is given, it will be used as is, but if we # cannot find the file to load, we will replace `-` with `/` and try it # again as when Bundler loads gems. # # @api private # # source://rubocop//lib/rubocop/feature_loader.rb#16 class RuboCop::FeatureLoader

# @api private
# @param config_directory_path [String]
# @param feature [String]
# @return [FeatureLoader] a new instance of FeatureLoader
#
# source://rubocop//lib/rubocop/feature_loader.rb#27
def initialize(config_directory_path:, feature:); end

# @api private
#
# source://rubocop//lib/rubocop/feature_loader.rb#32
def load; end

private

# @api private
# @return [String]
#
# source://rubocop//lib/rubocop/feature_loader.rb#55
def namespaced_feature; end

# @api private
# @return [String]
#
# source://rubocop//lib/rubocop/feature_loader.rb#60
def namespaced_target; end

# @api private
# @param [String]
# @return [String]
#
# source://rubocop//lib/rubocop/feature_loader.rb#70
def relative(feature); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/feature_loader.rb#75
def relative?; end

# @api private
# @param error [LoadError]
# @return [Boolean]
#
# source://rubocop//lib/rubocop/feature_loader.rb#81
def seems_cannot_load_such_file_error?(error); end

# @api private
# @return [String]
#
# source://rubocop//lib/rubocop/feature_loader.rb#86
def target; end

class << self
  # @api private
  # @param config_directory_path [String]
  # @param feature [String]
  #
  # source://rubocop//lib/rubocop/feature_loader.rb#20
  def load(config_directory_path:, feature:); end
end

end

# Common methods for finding files. # # @api private # # source://rubocop//lib/rubocop/file_finder.rb#8 module RuboCop::FileFinder

# @api private
#
# source://rubocop//lib/rubocop/file_finder.rb#13
def find_file_upwards(filename, start_dir, stop_dir = T.unsafe(nil)); end

# @api private
#
# source://rubocop//lib/rubocop/file_finder.rb#20
def find_last_file_upwards(filename, start_dir, stop_dir = T.unsafe(nil)); end

private

# @api private
#
# source://rubocop//lib/rubocop/file_finder.rb#28
def traverse_files_upwards(filename, start_dir, stop_dir); end

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/file_finder.rb#10
  def root_level; end

  # @api private
  #
  # source://rubocop//lib/rubocop/file_finder.rb#10
  def root_level=(_arg0); end
end

end

# A wrapper around patterns array to perform optimized search. # # For projects with a large set of rubocop todo files, most items in ‘Exclude`/`Include` # are exact file names. It is wasteful to linearly check the list of patterns over and over # to check if the file is relevant to the cop. # # This class partitions an array of patterns into a set of exact match strings and the rest # of the patterns. This way we can firstly do a cheap check in the set and then proceed via # the costly patterns check, if needed. # # @api private # # source://rubocop//lib/rubocop/file_patterns.rb#14 class RuboCop::FilePatterns

# @api private
# @return [FilePatterns] a new instance of FilePatterns
#
# source://rubocop//lib/rubocop/file_patterns.rb#21
def initialize(patterns); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/file_patterns.rb#27
def match?(path); end

private

# @api private
#
# source://rubocop//lib/rubocop/file_patterns.rb#33
def partition_patterns(patterns); end

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/file_patterns.rb#17
  def from(patterns); end
end

end

# The bootstrap module for formatter. # # source://rubocop//lib/rubocop/formatter.rb#5 module RuboCop::Formatter; end

# Does not show individual offenses in the console. # # source://rubocop//lib/rubocop/formatter/auto_gen_config_formatter.rb#6 class RuboCop::Formatter::AutoGenConfigFormatter < ::RuboCop::Formatter::ProgressFormatter

# source://rubocop//lib/rubocop/formatter/auto_gen_config_formatter.rb#7
def finished(inspected_files); end

end

# Abstract base class for formatter, implements all public API methods. # # ## Creating Custom Formatter # # You can create a custom formatter by subclassing # ‘RuboCop::Formatter::BaseFormatter` and overriding some methods # or by implementing all the methods by duck typing. # # ## Using Custom Formatter in Command Line # # You can tell RuboCop to use your custom formatter with a combination of # `–format` and `–require` option. # For example, when you have defined `MyCustomFormatter` in # `./path/to/my_custom_formatter.rb`, you would type this command: # # rubocop –require ./path/to/my_custom_formatter –format MyCustomFormatter # # Note: The path passed to `–require` is directly passed to # `Kernel.require`. # If your custom formatter file is not in `$LOAD_PATH`, # you need to specify the path as relative path prefixed with `./` # explicitly or absolute path. # # ## Method Invocation Order # # For example, when RuboCop inspects 2 files, # the invocation order should be like this: # # * `#initialize` # * `#started` # * `#file_started` # * `#file_finished` # * `#file_started` # * `#file_finished` # * `#finished` # # source://rubocop//lib/rubocop/formatter/base_formatter.rb#41 class RuboCop::Formatter::BaseFormatter

# @api public
# @param output [IO] `$stdout` or opened file
# @return [BaseFormatter] a new instance of BaseFormatter
#
# source://rubocop//lib/rubocop/formatter/base_formatter.rb#63
def initialize(output, options = T.unsafe(nil)); end

# Invoked at the end of inspecting each files.
#
# @api public
# @param file [String] the file path
# @param offenses [Array(RuboCop::Cop::Offense)] all detected offenses for the file
# @return [void]
# @see RuboCop::Cop::Offense
#
# source://rubocop//lib/rubocop/formatter/base_formatter.rb#104
def file_finished(file, offenses); end

# Invoked at the beginning of inspecting each files.
#
# @api public
# @param file [String] the file path
# @param options [Hash] file specific information, currently this is always empty.
# @return [void]
#
# source://rubocop//lib/rubocop/formatter/base_formatter.rb#89
def file_started(file, options); end

# Invoked after all files are inspected or interrupted by user.
#
# @api public
# @param inspected_files [Array(String)] the inspected file paths.
#   This would be same as `target_files` passed to `#started`
#   unless RuboCop is interrupted by user.
# @return [void]
#
# source://rubocop//lib/rubocop/formatter/base_formatter.rb#116
def finished(inspected_files); end

# @api public
# @return [Hash]
#
# source://rubocop//lib/rubocop/formatter/base_formatter.rb#57
def options; end

# @api public
# @return [IO] the IO object passed to `#initialize`
# @see #initialize
#
# source://rubocop//lib/rubocop/formatter/base_formatter.rb#50
def output; end

# Invoked once before any files are inspected.
#
# @api public
# @param target_files [Array(String)] all target file paths to be inspected
# @return [void]
#
# source://rubocop//lib/rubocop/formatter/base_formatter.rb#76
def started(target_files); end

end

# This formatter formats report data in clang style. # The precise location of the problem is shown together with the # relevant source code. # # source://rubocop//lib/rubocop/formatter/clang_style_formatter.rb#8 class RuboCop::Formatter::ClangStyleFormatter < ::RuboCop::Formatter::SimpleTextFormatter

# source://rubocop//lib/rubocop/formatter/clang_style_formatter.rb#11
def report_file(file, offenses); end

private

# source://rubocop//lib/rubocop/formatter/clang_style_formatter.rb#47
def report_highlighted_area(highlighted_area); end

# source://rubocop//lib/rubocop/formatter/clang_style_formatter.rb#37
def report_line(location); end

# source://rubocop//lib/rubocop/formatter/clang_style_formatter.rb#17
def report_offense(file, offense); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/clang_style_formatter.rb#33
def valid_line?(offense); end

end

# source://rubocop//lib/rubocop/formatter/clang_style_formatter.rb#9 RuboCop::Formatter::ClangStyleFormatter::ELLIPSES = T.let(T.unsafe(nil), String)

# This mix-in module provides string coloring methods for terminals. # It automatically disables coloring if coloring is disabled in the process # globally or the formatter’s output is not a terminal. # # source://rubocop//lib/rubocop/formatter/colorizable.rb#8 module RuboCop::Formatter::Colorizable

# source://rubocop//lib/rubocop/formatter/colorizable.rb#35
def black(string); end

# source://rubocop//lib/rubocop/formatter/colorizable.rb#35
def blue(string); end

# source://rubocop//lib/rubocop/formatter/colorizable.rb#21
def colorize(string, *args); end

# source://rubocop//lib/rubocop/formatter/colorizable.rb#35
def cyan(string); end

# source://rubocop//lib/rubocop/formatter/colorizable.rb#35
def green(string); end

# source://rubocop//lib/rubocop/formatter/colorizable.rb#35
def magenta(string); end

# source://rubocop//lib/rubocop/formatter/colorizable.rb#9
def rainbow; end

# source://rubocop//lib/rubocop/formatter/colorizable.rb#35
def red(string); end

# source://rubocop//lib/rubocop/formatter/colorizable.rb#35
def white(string); end

# source://rubocop//lib/rubocop/formatter/colorizable.rb#35
def yellow(string); end

end

# This formatter displays a YAML configuration file where all cops that # detected any offenses are configured to not detect the offense. # # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#7 class RuboCop::Formatter::DisabledConfigFormatter < ::RuboCop::Formatter::BaseFormatter

include ::RuboCop::PathUtil

# @return [DisabledConfigFormatter] a new instance of DisabledConfigFormatter
#
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#27
def initialize(output, options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#40
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#33
def file_started(_file, options); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#48
def finished(_inspected_files); end

private

# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#69
def auto_gen_enforced_style?; end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#73
def command; end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#161
def cop_config_params(default_cfg, cfg); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#181
def default_config(cop_name); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#225
def excludes(offending_files, cop_name, parent); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#196
def filtered_config(cfg); end

# Returns true if the given arr include the given elm or if any of the
# given arr is a regexp that matches the given elm.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#273
def include_or_match?(arr, elm); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#246
def merge_mode_for_exclude?(cfg); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#267
def no_exclude_limit?; end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#102
def output_cop(cop_name, offense_count); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#133
def output_cop_comments(output_buffer, cfg, cop_name, offense_count); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#185
def output_cop_config(output_buffer, cfg, cop_name); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#168
def output_cop_param_comments(output_buffer, params, default_cfg); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#215
def output_exclude_list(output_buffer, offending_files, cop_name); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#250
def output_exclude_path(output_buffer, exclude_path, parent); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#204
def output_offending_files(output_buffer, cfg, cop_name); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#96
def output_offenses; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#263
def safe_autocorrect?(config); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#116
def set_max(cfg, cop_name); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#65
def show_offense_counts?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#61
def show_timestamp?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#153
def supports_safe_autocorrect?(cop_class, default_cfg); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#157
def supports_unsafe_autocorrect?(cop_class, default_cfg); end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#92
def timestamp; end

class << self
  # Returns the value of attribute config_to_allow_offenses.
  #
  # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#24
  def config_to_allow_offenses; end

  # Sets the attribute config_to_allow_offenses
  #
  # @param value the value to set the attribute config_to_allow_offenses to.
  #
  # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#24
  def config_to_allow_offenses=(_arg0); end

  # Returns the value of attribute detected_styles.
  #
  # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#24
  def detected_styles; end

  # Sets the attribute detected_styles
  #
  # @param value the value to set the attribute detected_styles to.
  #
  # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#24
  def detected_styles=(_arg0); end
end

end

# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#10 RuboCop::Formatter::DisabledConfigFormatter::HEADING = T.let(T.unsafe(nil), String)

# This formatter displays the report data in format that’s # easy to process in the Emacs text editor. # The output is machine-parsable. # # source://rubocop//lib/rubocop/formatter/emacs_style_formatter.rb#8 class RuboCop::Formatter::EmacsStyleFormatter < ::RuboCop::Formatter::BaseFormatter

# source://rubocop//lib/rubocop/formatter/emacs_style_formatter.rb#9
def file_finished(file, offenses); end

private

# source://rubocop//lib/rubocop/formatter/emacs_style_formatter.rb#24
def message(offense); end

end

# This formatter displays just a list of the files with offenses in them, # separated by newlines. The output is machine-parsable. # # Here’s the format: # # /some/file # /some/other/file # # source://rubocop//lib/rubocop/formatter/file_list_formatter.rb#12 class RuboCop::Formatter::FileListFormatter < ::RuboCop::Formatter::BaseFormatter

# source://rubocop//lib/rubocop/formatter/file_list_formatter.rb#13
def file_finished(file, offenses); end

end

# This is a collection of formatters. A FormatterSet can hold multiple # formatter instances and provides transparent formatter API methods # which invoke same method of each formatters. # # source://rubocop//lib/rubocop/formatter/formatter_set.rb#10 class RuboCop::Formatter::FormatterSet < ::Array

# @return [FormatterSet] a new instance of FormatterSet
#
# source://rubocop//lib/rubocop/formatter/formatter_set.rb#39
def initialize(options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#55
def add_formatter(formatter_type, output_path = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#67
def close_output_files; end

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#50
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#44
def file_started(file, options); end

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#34
def finished(*args); end

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#34
def started(*args); end

private

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#86
def builtin_formatter_class(specified_key); end

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#99
def custom_formatter_class(specified_class_name); end

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#75
def formatter_class(formatter_type); end

end

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#11 RuboCop::Formatter::FormatterSet::BUILTIN_FORMATTERS_FOR_KEYS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/formatter/formatter_set.rb#31 RuboCop::Formatter::FormatterSet::FORMATTER_APIS = T.let(T.unsafe(nil), Array)

# This formatter displays a progress bar and shows details of offenses as # soon as they are detected. # This is inspired by the Fuubar formatter for RSpec by Jeff Kreeftmeijer. # github.com/jeffkreeftmeijer/fuubar # # source://rubocop//lib/rubocop/formatter/fuubar_style_formatter.rb#11 class RuboCop::Formatter::FuubarStyleFormatter < ::RuboCop::Formatter::ClangStyleFormatter

# @return [FuubarStyleFormatter] a new instance of FuubarStyleFormatter
#
# source://rubocop//lib/rubocop/formatter/fuubar_style_formatter.rb#14
def initialize(*output); end

# source://rubocop//lib/rubocop/formatter/fuubar_style_formatter.rb#51
def count_stats(offenses); end

# source://rubocop//lib/rubocop/formatter/fuubar_style_formatter.rb#40
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/fuubar_style_formatter.rb#71
def progressbar_color; end

# source://rubocop//lib/rubocop/formatter/fuubar_style_formatter.rb#20
def started(target_files); end

# source://rubocop//lib/rubocop/formatter/fuubar_style_formatter.rb#61
def with_color; end

end

# source://rubocop//lib/rubocop/formatter/fuubar_style_formatter.rb#12 RuboCop::Formatter::FuubarStyleFormatter::RESET_SEQUENCE = T.let(T.unsafe(nil), String)

# This formatter formats report data as GitHub Workflow commands resulting # in GitHub check annotations when run within GitHub Actions. # # source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#7 class RuboCop::Formatter::GitHubActionsFormatter < ::RuboCop::Formatter::BaseFormatter

# source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#14
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#18
def finished(_inspected_files); end

# source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#10
def started(_target_files); end

private

# source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#29
def github_escape(string); end

# source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#41
def github_severity(offense); end

# source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#33
def minimum_severity_to_fail; end

# source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#45
def report_offense(file, offense); end

end

# source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#8 RuboCop::Formatter::GitHubActionsFormatter::ESCAPE_MAP = T.let(T.unsafe(nil), Hash)

# This formatter saves the output as an html file. # # source://rubocop//lib/rubocop/formatter/html_formatter.rb#9 class RuboCop::Formatter::HTMLFormatter < ::RuboCop::Formatter::BaseFormatter

# @return [HTMLFormatter] a new instance of HTMLFormatter
#
# source://rubocop//lib/rubocop/formatter/html_formatter.rb#29
def initialize(output, options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#39
def file_finished(file, offenses); end

# Returns the value of attribute files.
#
# source://rubocop//lib/rubocop/formatter/html_formatter.rb#27
def files; end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#44
def finished(inspected_files); end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#50
def render_html; end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#35
def started(target_files); end

# Returns the value of attribute summary.
#
# source://rubocop//lib/rubocop/formatter/html_formatter.rb#27
def summary; end

end

# This class provides helper methods used in the ERB CSS template. # # source://rubocop//lib/rubocop/formatter/html_formatter.rb#135 class RuboCop::Formatter::HTMLFormatter::CSSContext

# Make Kernel#binding public.
#
# source://rubocop//lib/rubocop/formatter/html_formatter.rb#146
def binding; end

end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#136 RuboCop::Formatter::HTMLFormatter::CSSContext::SEVERITY_COLORS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#12 RuboCop::Formatter::HTMLFormatter::CSS_PATH = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#14 class RuboCop::Formatter::HTMLFormatter::Color < ::Struct

# Returns the value of attribute alpha
#
# @return [Object] the current value of alpha
def alpha; end

# Sets the attribute alpha
#
# @param value [Object] the value to set the attribute alpha to.
# @return [Object] the newly set value
def alpha=(_); end

# Returns the value of attribute blue
#
# @return [Object] the current value of blue
def blue; end

# Sets the attribute blue
#
# @param value [Object] the value to set the attribute blue to.
# @return [Object] the newly set value
def blue=(_); end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#19
def fade_out(amount); end

# Returns the value of attribute green
#
# @return [Object] the current value of green
def green; end

# Sets the attribute green
#
# @param value [Object] the value to set the attribute green to.
# @return [Object] the newly set value
def green=(_); end

# Returns the value of attribute red
#
# @return [Object] the current value of red
def red; end

# Sets the attribute red
#
# @param value [Object] the value to set the attribute red to.
# @return [Object] the newly set value
def red=(_); end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#15
def to_s; end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#10 RuboCop::Formatter::HTMLFormatter::ELLIPSES = T.let(T.unsafe(nil), String)

# This class provides helper methods used in the ERB template. # # source://rubocop//lib/rubocop/formatter/html_formatter.rb#61 class RuboCop::Formatter::HTMLFormatter::ERBContext

include ::RuboCop::PathUtil
include ::RuboCop::Formatter::TextUtil

# @return [ERBContext] a new instance of ERBContext
#
# source://rubocop//lib/rubocop/formatter/html_formatter.rb#69
def initialize(files, summary); end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#116
def base64_encoded_logo_image; end

# Make Kernel#binding public.
#
# source://rubocop//lib/rubocop/formatter/html_formatter.rb#76
def binding; end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#81
def decorated_message(offense); end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#112
def escape(string); end

# Returns the value of attribute files.
#
# source://rubocop//lib/rubocop/formatter/html_formatter.rb#67
def files; end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#92
def highlight_source_tag(offense); end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#85
def highlighted_source_line(offense); end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#108
def possible_ellipses(location); end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#124
def render_css; end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#103
def source_after_highlight(offense); end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#98
def source_before_highlight(offense); end

# Returns the value of attribute summary.
#
# source://rubocop//lib/rubocop/formatter/html_formatter.rb#67
def summary; end

end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#65 RuboCop::Formatter::HTMLFormatter::ERBContext::LOGO_IMAGE_PATH = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#25 class RuboCop::Formatter::HTMLFormatter::FileOffenses < ::Struct

# Returns the value of attribute offenses
#
# @return [Object] the current value of offenses
def offenses; end

# Sets the attribute offenses
#
# @param value [Object] the value to set the attribute offenses to.
# @return [Object] the newly set value
def offenses=(_); end

# Returns the value of attribute path
#
# @return [Object] the current value of path
def path; end

# Sets the attribute path
#
# @param value [Object] the value to set the attribute path to.
# @return [Object] the newly set value
def path=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#24 class RuboCop::Formatter::HTMLFormatter::Summary < ::Struct

# Returns the value of attribute inspected_files
#
# @return [Object] the current value of inspected_files
def inspected_files; end

# Sets the attribute inspected_files
#
# @param value [Object] the value to set the attribute inspected_files to.
# @return [Object] the newly set value
def inspected_files=(_); end

# Returns the value of attribute offense_count
#
# @return [Object] the current value of offense_count
def offense_count; end

# Sets the attribute offense_count
#
# @param value [Object] the value to set the attribute offense_count to.
# @return [Object] the newly set value
def offense_count=(_); end

# Returns the value of attribute target_files
#
# @return [Object] the current value of target_files
def target_files; end

# Sets the attribute target_files
#
# @param value [Object] the value to set the attribute target_files to.
# @return [Object] the newly set value
def target_files=(_); end

class << self
  def [](*_arg0); end
  def inspect; end
  def keyword_init?; end
  def members; end
  def new(*_arg0); end
end

end

# source://rubocop//lib/rubocop/formatter/html_formatter.rb#11 RuboCop::Formatter::HTMLFormatter::TEMPLATE_PATH = T.let(T.unsafe(nil), String)

# This formatter formats the report data in JSON format. # # source://rubocop//lib/rubocop/formatter/json_formatter.rb#8 class RuboCop::Formatter::JSONFormatter < ::RuboCop::Formatter::BaseFormatter

include ::RuboCop::PathUtil

# @return [JSONFormatter] a new instance of JSONFormatter
#
# source://rubocop//lib/rubocop/formatter/json_formatter.rb#13
def initialize(output, options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/formatter/json_formatter.rb#22
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/json_formatter.rb#27
def finished(inspected_files); end

# source://rubocop//lib/rubocop/formatter/json_formatter.rb#42
def hash_for_file(file, offenses); end

# TODO: Consider better solution for Offense#real_column.
#       The minimum value of `start_column: real_column` is 1.
#       So, the minimum value of `last_column` should be 1.
#       And non-zero value of `last_column` should be used as is.
#
# source://rubocop//lib/rubocop/formatter/json_formatter.rb#64
def hash_for_location(offense); end

# source://rubocop//lib/rubocop/formatter/json_formatter.rb#49
def hash_for_offense(offense); end

# source://rubocop//lib/rubocop/formatter/json_formatter.rb#32
def metadata_hash; end

# Returns the value of attribute output_hash.
#
# source://rubocop//lib/rubocop/formatter/json_formatter.rb#11
def output_hash; end

# source://rubocop//lib/rubocop/formatter/json_formatter.rb#18
def started(target_files); end

end

# This formatter formats the report data in JUnit format. # # source://rubocop//lib/rubocop/formatter/junit_formatter.rb#17 class RuboCop::Formatter::JUnitFormatter < ::RuboCop::Formatter::BaseFormatter

# @return [JUnitFormatter] a new instance of JUnitFormatter
#
# source://rubocop//lib/rubocop/formatter/junit_formatter.rb#18
def initialize(output, options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/formatter/junit_formatter.rb#55
def add_testcase_element_to_testsuite_element(file, target_offenses, cop); end

# source://rubocop//lib/rubocop/formatter/junit_formatter.rb#64
def classname_attribute_value(file); end

# source://rubocop//lib/rubocop/formatter/junit_formatter.rb#29
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/junit_formatter.rb#71
def finished(_inspected_files); end

# source://rubocop//lib/rubocop/formatter/junit_formatter.rb#51
def offenses_for_cop(all_offenses, cop); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/formatter/junit_formatter.rb#47
def relevant_for_output?(options, target_offenses); end

private

# source://rubocop//lib/rubocop/formatter/junit_formatter.rb#83
def add_failure_to(testcase, offenses, cop_name); end

# source://rubocop//lib/rubocop/formatter/junit_formatter.rb#78
def reset_count; end

end

# This formatter displays the report data in markdown # # source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#6 class RuboCop::Formatter::MarkdownFormatter < ::RuboCop::Formatter::BaseFormatter

include ::RuboCop::Formatter::TextUtil
include ::RuboCop::PathUtil

# @return [MarkdownFormatter] a new instance of MarkdownFormatter
#
# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#11
def initialize(output, options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#21
def file_finished(file, offenses); end

# Returns the value of attribute files.
#
# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#9
def files; end

# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#26
def finished(inspected_files); end

# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#17
def started(target_files); end

# Returns the value of attribute summary.
#
# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#9
def summary; end

private

# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#73
def possible_ellipses(location); end

# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#33
def render_markdown; end

# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#67
def write_code(offense); end

# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#61
def write_context(offense); end

# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#42
def write_file_messages; end

# source://rubocop//lib/rubocop/formatter/markdown_formatter.rb#54
def write_heading(file); end

end

# This formatter displays the list of offended cops with a count of how # many offenses of their kind were found. Ordered by desc offense count # # Here’s the format: # # 26 LineLength # 3 OneLineConditional # – # 29 Total in 5 files # # source://rubocop//lib/rubocop/formatter/offense_count_formatter.rb#16 class RuboCop::Formatter::OffenseCountFormatter < ::RuboCop::Formatter::BaseFormatter

# source://rubocop//lib/rubocop/formatter/offense_count_formatter.rb#81
def cop_information(cop_name); end

# source://rubocop//lib/rubocop/formatter/offense_count_formatter.rb#42
def file_finished(_file, offenses); end

# source://rubocop//lib/rubocop/formatter/offense_count_formatter.rb#51
def finished(_inspected_files); end

# Returns the value of attribute offense_counts.
#
# source://rubocop//lib/rubocop/formatter/offense_count_formatter.rb#17
def offense_counts; end

# source://rubocop//lib/rubocop/formatter/offense_count_formatter.rb#73
def ordered_offense_counts(offense_counts); end

# source://rubocop//lib/rubocop/formatter/offense_count_formatter.rb#56
def report_summary(offense_counts, offending_files_count); end

# source://rubocop//lib/rubocop/formatter/offense_count_formatter.rb#19
def started(target_files); end

# source://rubocop//lib/rubocop/formatter/offense_count_formatter.rb#77
def total_offense_count(offense_counts); end

end

# This formatter prints a PACDOT per every file to be analyzed. # Pacman will “eat” one PACDOT per file when no offense is detected. # Otherwise it will print a Ghost. # This is inspired by the Pacman formatter for RSpec by Carlos Rojas. # github.com/go-labs/rspec_pacman_formatter # # source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#10 class RuboCop::Formatter::PacmanFormatter < ::RuboCop::Formatter::ClangStyleFormatter

include ::RuboCop::Formatter::TextUtil

# @return [PacmanFormatter] a new instance of PacmanFormatter
#
# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#19
def initialize(output, options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#50
def cols; end

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#37
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#33
def file_started(_file, _options); end

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#43
def next_step(offenses); end

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#64
def pacdots(number); end

# Returns the value of attribute progress_line.
#
# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#12
def progress_line; end

# Sets the attribute progress_line
#
# @param value the value to set the attribute progress_line to.
#
# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#12
def progress_line=(_arg0); end

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#26
def started(target_files); end

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#68
def step(character); end

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#57
def update_progress_line; end

end

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#14 RuboCop::Formatter::PacmanFormatter::FALLBACK_TERMINAL_WIDTH = T.let(T.unsafe(nil), Integer)

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#15 RuboCop::Formatter::PacmanFormatter::GHOST = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#17 RuboCop::Formatter::PacmanFormatter::PACDOT = T.let(T.unsafe(nil), Rainbow::Presenter)

# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#16 RuboCop::Formatter::PacmanFormatter::PACMAN = T.let(T.unsafe(nil), Rainbow::Presenter)

# This formatter display dots for files with no offenses and # letters for files with problems in the them. In the end it # appends the regular report data in the clang style format. # # source://rubocop//lib/rubocop/formatter/progress_formatter.rb#8 class RuboCop::Formatter::ProgressFormatter < ::RuboCop::Formatter::ClangStyleFormatter

include ::RuboCop::Formatter::TextUtil

# @return [ProgressFormatter] a new instance of ProgressFormatter
#
# source://rubocop//lib/rubocop/formatter/progress_formatter.rb#13
def initialize(output, options = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/formatter/progress_formatter.rb#24
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/progress_formatter.rb#33
def finished(inspected_files); end

# source://rubocop//lib/rubocop/formatter/progress_formatter.rb#50
def report_file_as_mark(offenses); end

# source://rubocop//lib/rubocop/formatter/progress_formatter.rb#18
def started(target_files); end

end

# source://rubocop//lib/rubocop/formatter/progress_formatter.rb#11 RuboCop::Formatter::ProgressFormatter::DOT = T.let(T.unsafe(nil), String)

# If no offenses are found, no output is displayed. # Otherwise, SimpleTextFormatter’s output is displayed. # # source://rubocop//lib/rubocop/formatter/quiet_formatter.rb#7 class RuboCop::Formatter::QuietFormatter < ::RuboCop::Formatter::SimpleTextFormatter

# source://rubocop//lib/rubocop/formatter/quiet_formatter.rb#8
def report_summary(file_count, offense_count, correction_count, correctable_count); end

end

# A basic formatter that displays only files with offenses. # Offenses are displayed at compact form - just the # location of the problem and the associated message. # # source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#10 class RuboCop::Formatter::SimpleTextFormatter < ::RuboCop::Formatter::BaseFormatter

include ::RuboCop::Formatter::Colorizable
include ::RuboCop::PathUtil

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#29
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#36
def finished(inspected_files); end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#43
def report_file(file, offenses); end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#57
def report_summary(file_count, offense_count, correction_count, correctable_count); end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#23
def started(_target_files); end

private

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#85
def annotate_message(msg); end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#80
def colored_severity_code(offense); end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#73
def count_stats(offenses); end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#89
def message(offense); end

end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#14 RuboCop::Formatter::SimpleTextFormatter::COLOR_FOR_SEVERITY = T.let(T.unsafe(nil), Hash)

# A helper class for building the report summary text. # # source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#105 class RuboCop::Formatter::SimpleTextFormatter::Report

include ::RuboCop::Formatter::Colorizable
include ::RuboCop::Formatter::TextUtil

# @return [Report] a new instance of Report
#
# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#110
def initialize(file_count, offense_count, correction_count, correctable_count, rainbow, safe_autocorrect: T.unsafe(nil)); end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#123
def summary; end

private

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#160
def correctable; end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#153
def corrections; end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#142
def files; end

# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#146
def offenses; end

# Returns the value of attribute rainbow.
#
# source://rubocop//lib/rubocop/formatter/simple_text_formatter.rb#140
def rainbow; end

end

# This formatter formats report data using the Test Anything Protocol. # TAP allows for to communicate tests results in a language agnostics way. # # source://rubocop//lib/rubocop/formatter/tap_formatter.rb#7 class RuboCop::Formatter::TapFormatter < ::RuboCop::Formatter::ClangStyleFormatter

# source://rubocop//lib/rubocop/formatter/tap_formatter.rb#14
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/tap_formatter.rb#8
def started(target_files); end

private

# source://rubocop//lib/rubocop/formatter/tap_formatter.rb#62
def annotate_message(msg); end

# source://rubocop//lib/rubocop/formatter/tap_formatter.rb#66
def message(offense); end

# source://rubocop//lib/rubocop/formatter/tap_formatter.rb#39
def report_highlighted_area(highlighted_area); end

# source://rubocop//lib/rubocop/formatter/tap_formatter.rb#29
def report_line(location); end

# source://rubocop//lib/rubocop/formatter/tap_formatter.rb#46
def report_offense(file, offense); end

end

# Common logic for UI texts. # # source://rubocop//lib/rubocop/formatter/text_util.rb#6 module RuboCop::Formatter::TextUtil

private

# source://rubocop//lib/rubocop/formatter/text_util.rb#9
def pluralize(number, thing, options = T.unsafe(nil)); end

class << self
  # source://rubocop//lib/rubocop/formatter/text_util.rb#9
  def pluralize(number, thing, options = T.unsafe(nil)); end
end

end

# This formatter displays the list of offensive files, sorted by number of # offenses with the worst offenders first. # # Here’s the format: # # 26 this/file/is/really/bad.rb # 3 just/ok.rb # – # 29 Total in 2 files # # source://rubocop//lib/rubocop/formatter/worst_offenders_formatter.rb#16 class RuboCop::Formatter::WorstOffendersFormatter < ::RuboCop::Formatter::BaseFormatter

# source://rubocop//lib/rubocop/formatter/worst_offenders_formatter.rb#24
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/formatter/worst_offenders_formatter.rb#31
def finished(_inspected_files); end

# Returns the value of attribute offense_counts.
#
# source://rubocop//lib/rubocop/formatter/worst_offenders_formatter.rb#17
def offense_counts; end

# source://rubocop//lib/rubocop/formatter/worst_offenders_formatter.rb#55
def ordered_offense_counts(offense_counts); end

# source://rubocop//lib/rubocop/formatter/worst_offenders_formatter.rb#36
def report_summary(offense_counts); end

# source://rubocop//lib/rubocop/formatter/worst_offenders_formatter.rb#19
def started(target_files); end

# source://rubocop//lib/rubocop/formatter/worst_offenders_formatter.rb#59
def total_offense_count(offense_counts); end

end

# source://rubocop//lib/rubocop/options.rb#8 class RuboCop::IncorrectCopNameError < ::StandardError; end

# The RuboCop’s built-in LSP module. # # source://rubocop//lib/rubocop/lsp.rb#5 module RuboCop::LSP

private

# Disable LSP.
#
# @return [void]
#
# source://rubocop//lib/rubocop/lsp.rb#25
def disable; end

# Enable LSP.
#
# @return [void]
#
# source://rubocop//lib/rubocop/lsp.rb#18
def enable; end

# Returns true when LSP is enabled, false when disabled.
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/lsp.rb#11
def enabled?; end

class << self
  # Disable LSP.
  #
  # @return [void]
  #
  # source://rubocop//lib/rubocop/lsp.rb#25
  def disable; end

  # Enable LSP.
  #
  # @return [void]
  #
  # source://rubocop//lib/rubocop/lsp.rb#18
  def enable; end

  # Returns true when LSP is enabled, false when disabled.
  #
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/lsp.rb#11
  def enabled?; end
end

end

# Log for Language Server Protocol of RuboCop. # # @api private # # source://rubocop//lib/rubocop/lsp/logger.rb#16 class RuboCop::LSP::Logger

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/lsp/logger.rb#17
  def log(message); end
end

end

# Routes for Language Server Protocol of RuboCop. # # @api private # # source://rubocop//lib/rubocop/lsp/routes.rb#18 class RuboCop::LSP::Routes

# @api private
# @return [Routes] a new instance of Routes
#
# source://rubocop//lib/rubocop/lsp/routes.rb#25
def initialize(server); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/routes.rb#31
def for(name); end

# source://rubocop//lib/rubocop/lsp/routes.rb#38
def handle_initialize(request); end

# source://rubocop//lib/rubocop/lsp/routes.rb#61
def handle_initialized(_request); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/routes.rb#170
def handle_method_missing(request); end

# source://rubocop//lib/rubocop/lsp/routes.rb#67
def handle_shutdown(request); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/routes.rb#159
def handle_unsupported_method(request, method = T.unsafe(nil)); end

private

# @api private
#
# source://rubocop//lib/rubocop/lsp/routes.rb#208
def diagnostic(file_uri, text); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/routes.rb#178
def extract_initialization_options_from(request); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/routes.rb#188
def format_file(file_uri, command: T.unsafe(nil)); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/routes.rb#222
def remove_file_protocol_from(uri); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/routes.rb#226
def to_diagnostic(offense); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/routes.rb#238
def to_range(location); end

class << self
  private

  # @api private
  #
  # source://rubocop//lib/rubocop/lsp/routes.rb#19
  def handle(name, &block); end
end

end

# Runtime for Language Server Protocol of RuboCop. # # @api private # # source://rubocop//lib/rubocop/lsp/runtime.rb#16 class RuboCop::LSP::Runtime

# @api private
# @return [Runtime] a new instance of Runtime
#
# source://rubocop//lib/rubocop/lsp/runtime.rb#19
def initialize(config_store); end

# This abuses the `--stdin` option of rubocop and reads the formatted text
# from the `options[:stdin]` that rubocop mutates. This depends on
# `parallel: false` as well as the fact that RuboCop doesn't otherwise dup
# or reassign that options object. Risky business!
#
# Reassigning `options[:stdin]` is done here:
#   https://github.com/rubocop/rubocop/blob/v1.52.0/lib/rubocop/cop/team.rb#L131
# Printing `options[:stdin]`
#   https://github.com/rubocop/rubocop/blob/v1.52.0/lib/rubocop/cli/command/execute_runner.rb#L95
# Setting `parallel: true` would break this here:
#   https://github.com/rubocop/rubocop/blob/v1.52.0/lib/rubocop/runner.rb#L72
#
# @api private
#
# source://rubocop//lib/rubocop/lsp/runtime.rb#38
def format(path, text, command:); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/runtime.rb#17
def layout_mode=(_arg0); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/runtime.rb#17
def lint_mode=(_arg0); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/runtime.rb#55
def offenses(path, text); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/runtime.rb#17
def safe_autocorrect=(_arg0); end

private

# @api private
#
# source://rubocop//lib/rubocop/lsp/runtime.rb#77
def config_only_options; end

# @api private
#
# source://rubocop//lib/rubocop/lsp/runtime.rb#84
def redirect_stdout(&block); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/runtime.rb#92
def run_rubocop(options, path); end

end

# Language Server Protocol of RuboCop. # # @api private # # source://rubocop//lib/rubocop/lsp/server.rb#22 class RuboCop::LSP::Server

# @api private
# @return [Server] a new instance of Server
#
# source://rubocop//lib/rubocop/lsp/server.rb#23
def initialize(config_store); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/server.rb#59
def configure(options); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/server.rb#51
def format(path, text, command:); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/server.rb#55
def offenses(path, text); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/server.rb#32
def start; end

# @api private
#
# source://rubocop//lib/rubocop/lsp/server.rb#65
def stop(&block); end

# @api private
#
# source://rubocop//lib/rubocop/lsp/server.rb#47
def write(response); end

end

# Severity for Language Server Protocol of RuboCop. # # @api private # # source://rubocop//lib/rubocop/lsp/severity.rb#7 class RuboCop::LSP::Severity

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/lsp/severity.rb#17
  def find_by(rubocop_severity); end
end

end

# @api private # # source://rubocop//lib/rubocop/lsp/severity.rb#8 RuboCop::LSP::Severity::SEVERITIES = T.let(T.unsafe(nil), Hash)

# Encapsulation of a lockfile for use when checking for gems. # Does not actually resolve gems, just parses the lockfile. # # @api private # # source://rubocop//lib/rubocop/lockfile.rb#13 class RuboCop::Lockfile

# @api private
# @param lockfile_path [String, Pathname, nil]
# @return [Lockfile] a new instance of Lockfile
#
# source://rubocop//lib/rubocop/lockfile.rb#15
def initialize(lockfile_path = T.unsafe(nil)); end

# Gems that the bundle directly depends on.
#
# @api private
# @return [Array<Bundler::Dependency>, nil]
#
# source://rubocop//lib/rubocop/lockfile.rb#23
def dependencies; end

# Returns the locked versions of gems from this lockfile.
#
# @api private
# @param include_transitive_dependencies: [Boolean] When false, only direct dependencies
#   are returned, i.e. those listed explicitly in the `Gemfile`.
#
# source://rubocop//lib/rubocop/lockfile.rb#43
def gem_versions(include_transitive_dependencies: T.unsafe(nil)); end

# All activated gems, including transitive dependencies.
#
# @api private
# @return [Array<Bundler::Dependency>, nil]
#
# source://rubocop//lib/rubocop/lockfile.rb#31
def gems; end

# Whether this lockfile includes the named gem, directly or indirectly.
#
# @api private
# @param name [String]
# @return [Boolean]
#
# source://rubocop//lib/rubocop/lockfile.rb#59
def includes_gem?(name); end

private

# @api private
# @return [Bundler::LockfileParser, nil]
#
# source://rubocop//lib/rubocop/lockfile.rb#66
def parser; end

end

# Parse different formats of magic comments. # # @abstract parent of three different magic comment handlers # # source://rubocop//lib/rubocop/magic_comment.rb#7 class RuboCop::MagicComment

# @return [MagicComment] a new instance of MagicComment
#
# source://rubocop//lib/rubocop/magic_comment.rb#32
def initialize(comment); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/magic_comment.rb#36
def any?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/magic_comment.rb#104
def encoding_specified?; end

# Expose the `frozen_string_literal` value coerced to a boolean if possible.
#
# @return [Boolean] if value is `true` or `false`
# @return [nil] if frozen_string_literal comment isn't found
# @return [String] if comment is found but isn't true or false
#
# source://rubocop//lib/rubocop/magic_comment.rb#86
def frozen_string_literal; end

# Does the magic comment enable the frozen string literal feature.
#
# Test whether the frozen string literal value is `true`. Cannot
# just return `frozen_string_literal` since an invalid magic comment
# `'yes'` does not actually enable the feature
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/magic_comment.rb#55
def frozen_string_literal?; end

# Was a magic comment for the frozen string literal found?
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/magic_comment.rb#70
def frozen_string_literal_specified?; end

# Expose the `shareable_constant_value` value coerced to a boolean if possible.
#
# @return [String] for shareable_constant_value config
#
# source://rubocop//lib/rubocop/magic_comment.rb#100
def shareable_constant_value; end

# Was a shareable_constant_value specified?
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/magic_comment.rb#77
def shareable_constant_value_specified?; end

# source://rubocop//lib/rubocop/magic_comment.rb#115
def typed; end

# Was the Sorbet `typed` sigil specified?
#
# @return [Boolean]
#
# source://rubocop//lib/rubocop/magic_comment.rb#111
def typed_specified?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/magic_comment.rb#43
def valid?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/magic_comment.rb#59
def valid_literal_value?; end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/magic_comment.rb#63
def valid_shareable_constant_value?; end

private

# Match the entire comment string with a pattern and take the first capture.
#
# @param pattern [Regexp]
# @return [String] if pattern matched
# @return [nil] otherwise
#
# source://rubocop//lib/rubocop/magic_comment.rb#131
def extract(pattern); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/magic_comment.rb#121
def specified?(value); end

class << self
  # Detect magic comment format and pass it to the appropriate wrapper.
  #
  # @param comment [String]
  # @return [RuboCop::MagicComment]
  #
  # source://rubocop//lib/rubocop/magic_comment.rb#23
  def parse(comment); end
end

end

# Parent to Vim and Emacs magic comment handling. # # @abstract # # source://rubocop//lib/rubocop/magic_comment.rb#138 class RuboCop::MagicComment::EditorComment < ::RuboCop::MagicComment

# source://rubocop//lib/rubocop/magic_comment.rb#139
def encoding; end

# Rewrite the comment without a given token type
#
# source://rubocop//lib/rubocop/magic_comment.rb#144
def without(type); end

private

# Find a token starting with the provided keyword and extract its value.
#
# @param keyword [String]
# @return [String] extracted value if it is found
# @return [nil] otherwise
#
# source://rubocop//lib/rubocop/magic_comment.rb#159
def match(keyword); end

# Individual tokens composing an editor specific comment string.
#
# @return [Array<String>]
#
# source://rubocop//lib/rubocop/magic_comment.rb#174
def tokens; end

end

# Wrapper for Emacs style magic comments. # # @example Emacs style comment # comment = RuboCop::MagicComment.parse( # ‘# -*- encoding: ASCII-8BIT -*-’ # ) # # comment.encoding # => ‘ascii-8bit’ # @see www.gnu.org/software/emacs/manual/html_node/emacs/Specify-Coding.html # @see github.com/ruby/ruby/blob/3f306dc/parse.y#L6873-L6892 Emacs handling in parse.y # # source://rubocop//lib/rubocop/magic_comment.rb#190 class RuboCop::MagicComment::EmacsComment < ::RuboCop::MagicComment::EditorComment

private

# source://rubocop//lib/rubocop/magic_comment.rb#198
def extract_frozen_string_literal; end

# source://rubocop//lib/rubocop/magic_comment.rb#202
def extract_shareable_constant_value; end

# Emacs comments cannot specify Sorbet typechecking behavior.
#
# source://rubocop//lib/rubocop/magic_comment.rb#207
def extract_typed; end

end

# source://rubocop//lib/rubocop/magic_comment.rb#192 RuboCop::MagicComment::EmacsComment::FORMAT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/magic_comment.rb#194 RuboCop::MagicComment::EmacsComment::OPERATOR = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/magic_comment.rb#191 RuboCop::MagicComment::EmacsComment::REGEXP = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/magic_comment.rb#193 RuboCop::MagicComment::EmacsComment::SEPARATOR = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/magic_comment.rb#11 RuboCop::MagicComment::KEYWORDS = T.let(T.unsafe(nil), Hash)

# Wrapper for regular magic comments not bound to an editor. # # Simple comments can only specify one setting per comment. # # @example frozen string literal comments # comment1 = RuboCop::MagicComment.parse(‘# frozen_string_literal: true’) # comment1.frozen_string_literal # => true # comment1.encoding # => nil # @example encoding comments # comment2 = RuboCop::MagicComment.parse(‘# encoding: utf-8’) # comment2.frozen_string_literal # => nil # comment2.encoding # => ‘utf-8’ # # source://rubocop//lib/rubocop/magic_comment.rb#261 class RuboCop::MagicComment::SimpleComment < ::RuboCop::MagicComment

# Match `encoding` or `coding`
#
# source://rubocop//lib/rubocop/magic_comment.rb#265
def encoding; end

# Rewrite the comment without a given token type
#
# source://rubocop//lib/rubocop/magic_comment.rb#270
def without(type); end

private

# Extract `frozen_string_literal`.
#
# The `frozen_string_literal` magic comment only works if it
# is the only text in the comment.
#
# Case-insensitive and dashes/underscores are acceptable.
#
# @see https://github.com/ruby/ruby/blob/78b95b4/parse.y#L7134-L7138
#
# source://rubocop//lib/rubocop/magic_comment.rb#287
def extract_frozen_string_literal; end

# source://rubocop//lib/rubocop/magic_comment.rb#291
def extract_shareable_constant_value; end

# source://rubocop//lib/rubocop/magic_comment.rb#295
def extract_typed; end

end

# source://rubocop//lib/rubocop/magic_comment.rb#262 RuboCop::MagicComment::SimpleComment::FSTRING_LITERAL_COMMENT = T.let(T.unsafe(nil), String)

# IRB’s pattern for matching magic comment tokens. # # @see github.com/ruby/ruby/blob/b4a55c1/lib/irb/magic-file.rb#L5 # # source://rubocop//lib/rubocop/magic_comment.rb#10 RuboCop::MagicComment::TOKEN = T.let(T.unsafe(nil), String)

# Wrapper for Vim style magic comments. # # @example Vim style comment # comment = RuboCop::MagicComment.parse( # ‘# vim: filetype=ruby, fileencoding=ascii-8bit’ # ) # # comment.encoding # => ‘ascii-8bit’ # # source://rubocop//lib/rubocop/magic_comment.rb#218 class RuboCop::MagicComment::VimComment < ::RuboCop::MagicComment::EditorComment

# For some reason the fileencoding keyword only works if there
# is at least one other token included in the string. For example
#
#    # works
#      # vim: foo=bar, fileencoding=ascii-8bit
#
#    # does nothing
#      # vim: foo=bar, fileencoding=ascii-8bit
#
# source://rubocop//lib/rubocop/magic_comment.rb#234
def encoding; end

# Vim comments cannot specify Sorbet typechecking behavior.
#
# source://rubocop//lib/rubocop/magic_comment.rb#245
def extract_typed; end

# Vim comments cannot specify frozen string literal behavior.
#
# source://rubocop//lib/rubocop/magic_comment.rb#239
def frozen_string_literal; end

# Vim comments cannot specify shareable constant values behavior.
#
# source://rubocop//lib/rubocop/magic_comment.rb#242
def shareable_constant_value; end

end

# source://rubocop//lib/rubocop/magic_comment.rb#220 RuboCop::MagicComment::VimComment::FORMAT = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/magic_comment.rb#223 RuboCop::MagicComment::VimComment::KEYWORDS = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/magic_comment.rb#222 RuboCop::MagicComment::VimComment::OPERATOR = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/magic_comment.rb#219 RuboCop::MagicComment::VimComment::REGEXP = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/magic_comment.rb#221 RuboCop::MagicComment::VimComment::SEPARATOR = T.let(T.unsafe(nil), String)

# Common functionality for finding names that are similar to a given name. # # @api private # # source://rubocop//lib/rubocop/name_similarity.rb#6 module RuboCop::NameSimilarity

private

# @api private
#
# source://rubocop//lib/rubocop/name_similarity.rb#9
def find_similar_name(target_name, names); end

# @api private
#
# source://rubocop//lib/rubocop/name_similarity.rb#15
def find_similar_names(target_name, names); end

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/name_similarity.rb#9
  def find_similar_name(target_name, names); end

  # @api private
  #
  # source://rubocop//lib/rubocop/name_similarity.rb#15
  def find_similar_names(target_name, names); end
end

end

# source://rubocop//lib/rubocop/ast_aliases.rb#5 RuboCop::NodePattern = RuboCop::AST::NodePattern

# source://rubocop//lib/rubocop/options.rb#10 class RuboCop::OptionArgumentError < ::StandardError; end

# This class handles command line options. # # @api private # # source://rubocop//lib/rubocop/options.rb#14 class RuboCop::Options

# @api private
# @return [Options] a new instance of Options
#
# source://rubocop//lib/rubocop/options.rb#22
def initialize; end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#27
def parse(command_line_args); end

private

# @api private
#
# source://rubocop//lib/rubocop/options.rb#229
def add_additional_modes(opts); end

# the autocorrect command-line arguments map to the autocorrect @options values like so:
#                            :fix_layout  :autocorrect  :safe_autocorrect  :autocorrect_all
# -x, --fix-layout           true         true          -                  -
# -a, --auto-correct         -            true          true               -
#     --safe-auto-correct    -            true          true               -
# -A, --auto-correct-all     -            true          -                  true
#
# @api private
#
# source://rubocop//lib/rubocop/options.rb#140
def add_autocorrection_options(opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#205
def add_cache_options(opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#73
def add_check_options(opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#163
def add_config_generation_options(opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#181
def add_cop_selection_csv_option(option, opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#241
def add_general_options(opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#212
def add_lsp_option(opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#105
def add_output_options(opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#253
def add_profile_options(opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#218
def add_server_options(opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#196
def add_severity_option(opts); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#53
def define_options; end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#263
def handle_deprecated_option(old_option, new_option); end

# Finds the option in `args` starting with -- and converts it to a symbol,
# e.g. [..., '--autocorrect', ...] to :autocorrect.
#
# @api private
#
# source://rubocop//lib/rubocop/options.rb#297
def long_opt_symbol(args); end

# Sets a value in the @options hash, based on the given long option and its
# value, in addition to calling the block if a block is given.
#
# @api private
#
# source://rubocop//lib/rubocop/options.rb#286
def option(opts, *args); end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#268
def rainbow; end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#302
def require_feature(file); end

# Creates a section of options in order to separate them visually when
# using `--help`.
#
# @api private
#
# source://rubocop//lib/rubocop/options.rb#278
def section(opts, heading, &_block); end

end

# @api private # # source://rubocop//lib/rubocop/options.rb#20 RuboCop::Options::DEFAULT_MAXIMUM_EXCLUSION_ITEMS = T.let(T.unsafe(nil), Integer)

# @api private # # source://rubocop//lib/rubocop/options.rb#19 RuboCop::Options::EXITING_OPTIONS = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/options.rb#15 RuboCop::Options::E_STDIN_NO_PATH = T.let(T.unsafe(nil), String)

# This module contains help texts for command line options. # # @api private # # source://rubocop//lib/rubocop/options.rb#498 module RuboCop::OptionsHelp; end

# @api private # # source://rubocop//lib/rubocop/options.rb#500 RuboCop::OptionsHelp::FORMATTER_OPTION_LIST = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/options.rb#499 RuboCop::OptionsHelp::MAX_EXCL = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/options.rb#502 RuboCop::OptionsHelp::TEXT = T.let(T.unsafe(nil), Hash)

# Validates option arguments and the options’ compatibility with each other. # # @api private # # source://rubocop//lib/rubocop/options.rb#312 class RuboCop::OptionsValidator

# @api private
# @return [OptionsValidator] a new instance of OptionsValidator
#
# source://rubocop//lib/rubocop/options.rb#350
def initialize(options); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/options.rb#472
def boolean_or_empty_cache?; end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#442
def disable_parallel_when_invalid_option_combo; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/options.rb#468
def except_syntax?; end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#476
def incompatible_options; end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#455
def invalid_arguments_for_parallel; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/options.rb#463
def only_includes_redundant_disable?; end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#382
def validate_auto_gen_config; end

# @api private
# @raise [OptionArgumentError]
#
# source://rubocop//lib/rubocop/options.rb#428
def validate_autocorrect; end

# @api private
# @raise [OptionArgumentError]
#
# source://rubocop//lib/rubocop/options.rb#488
def validate_cache_enabled_for_cache_root; end

# @api private
# @raise [OptionArgumentError]
#
# source://rubocop//lib/rubocop/options.rb#359
def validate_compatibility; end

# @api private
#
# source://rubocop//lib/rubocop/options.rb#354
def validate_cop_options; end

# @api private
# @raise [OptionArgumentError]
#
# source://rubocop//lib/rubocop/options.rb#403
def validate_display_only_correctable_and_autocorrect; end

# @api private
# @raise [OptionArgumentError]
#
# source://rubocop//lib/rubocop/options.rb#395
def validate_display_only_failed; end

# @api private
# @raise [OptionArgumentError]
#
# source://rubocop//lib/rubocop/options.rb#412
def validate_display_only_failed_and_display_only_correctable; end

# @api private
# @raise [OptionParser::MissingArgument]
#
# source://rubocop//lib/rubocop/options.rb#480
def validate_exclude_limit_option; end

# @api private
# @raise [OptionArgumentError]
#
# source://rubocop//lib/rubocop/options.rb#421
def validate_lsp_and_editor_mode; end

class << self
  # Cop name validation must be done later than option parsing, so it's not
  # called from within Options.
  #
  # @api private
  #
  # source://rubocop//lib/rubocop/options.rb#319
  def validate_cop_list(names); end

  private

  # @api private
  #
  # source://rubocop//lib/rubocop/options.rb#336
  def format_message_from(name, cop_names); end
end

end

# Common methods and behaviors for dealing with paths. # # source://rubocop//lib/rubocop/path_util.rb#5 module RuboCop::PathUtil

private

# Returns true for an absolute Unix or Windows path.
#
# source://rubocop//lib/rubocop/path_util.rb#76
def absolute?(path); end

# Returns true for a glob
#
# source://rubocop//lib/rubocop/path_util.rb#81
def glob?(path); end

# source://rubocop//lib/rubocop/path_util.rb#111
def hidden_dir?(path); end

# source://rubocop//lib/rubocop/path_util.rb#94
def hidden_file?(path); end

# source://rubocop//lib/rubocop/path_util.rb#85
def hidden_file_in_not_hidden_dir?(pattern, path); end

# source://rubocop//lib/rubocop/path_util.rb#48
def match_path?(pattern, path); end

# Loose check to reduce memory allocations
#
# source://rubocop//lib/rubocop/path_util.rb#101
def maybe_hidden_file?(path); end

# source://rubocop//lib/rubocop/path_util.rb#13
def relative_path(path, base_dir = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/path_util.rb#34
def smart_path(path); end

class << self
  # Returns true for an absolute Unix or Windows path.
  #
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/path_util.rb#76
  def absolute?(path); end

  # Returns true for a glob
  #
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/path_util.rb#81
  def glob?(path); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/path_util.rb#111
  def hidden_dir?(path); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/path_util.rb#94
  def hidden_file?(path); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/path_util.rb#85
  def hidden_file_in_not_hidden_dir?(pattern, path); end

  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/path_util.rb#48
  def match_path?(pattern, path); end

  # Loose check to reduce memory allocations
  #
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/path_util.rb#101
  def maybe_hidden_file?(path); end

  # source://rubocop//lib/rubocop/path_util.rb#13
  def relative_path(path, base_dir = T.unsafe(nil)); end

  # Returns the value of attribute relative_paths_cache.
  #
  # source://rubocop//lib/rubocop/path_util.rb#7
  def relative_paths_cache; end

  # Sets the attribute relative_paths_cache
  #
  # @param value the value to set the attribute relative_paths_cache to.
  #
  # source://rubocop//lib/rubocop/path_util.rb#7
  def relative_paths_cache=(_arg0); end

  # source://rubocop//lib/rubocop/path_util.rb#34
  def smart_path(path); end
end

end

# source://rubocop//lib/rubocop/path_util.rb#98 RuboCop::PathUtil::HIDDEN_FILE_PATTERN = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/path_util.rb#31 RuboCop::PathUtil::SMART_PATH_CACHE = T.let(T.unsafe(nil), Hash)

# This module provides information on the platform that RuboCop is being run # on. # # source://rubocop//lib/rubocop/platform.rb#6 module RuboCop::Platform

class << self
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/platform.rb#7
  def windows?; end
end

end

# source://rubocop//lib/rubocop/ast_aliases.rb#6 RuboCop::ProcessedSource = RuboCop::AST::ProcessedSource

# Common methods and behaviors for dealing with remote config files. # # @api private # # source://rubocop//lib/rubocop/remote_config.rb#9 class RuboCop::RemoteConfig

# @api private
# @return [RemoteConfig] a new instance of RemoteConfig
#
# source://rubocop//lib/rubocop/remote_config.rb#14
def initialize(url, base_dir); end

# @api private
#
# source://rubocop//lib/rubocop/remote_config.rb#19
def file; end

# @api private
#
# source://rubocop//lib/rubocop/remote_config.rb#32
def inherit_from_remote(file, path); end

# @api private
#
# source://rubocop//lib/rubocop/remote_config.rb#10
def uri; end

private

# @api private
#
# source://rubocop//lib/rubocop/remote_config.rb#95
def cache_name_from_uri; end

# @api private
#
# source://rubocop//lib/rubocop/remote_config.rb#78
def cache_path; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/remote_config.rb#82
def cache_path_exists?; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/remote_config.rb#86
def cache_path_expired?; end

# @api private
#
# source://rubocop//lib/rubocop/remote_config.rb#101
def cloned_url; end

# @api private
# @yield [request]
#
# source://rubocop//lib/rubocop/remote_config.rb#53
def generate_request(uri); end

# @api private
#
# source://rubocop//lib/rubocop/remote_config.rb#62
def handle_response(response, limit, &block); end

# @api private
# @raise [ArgumentError]
#
# source://rubocop//lib/rubocop/remote_config.rb#40
def request(uri = T.unsafe(nil), limit = T.unsafe(nil), &block); end

end

# @api private # # source://rubocop//lib/rubocop/remote_config.rb#12 RuboCop::RemoteConfig::CACHE_LIFETIME = T.let(T.unsafe(nil), Integer)

# Provides functionality for caching RuboCop runs. # # @api private # # source://rubocop//lib/rubocop/result_cache.rb#11 class RuboCop::ResultCache

# @api private
# @return [ResultCache] a new instance of ResultCache
#
# source://rubocop//lib/rubocop/result_cache.rb#87
def initialize(file, team, options, config_store, cache_root = T.unsafe(nil)); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/result_cache.rb#100
def debug?; end

# @api private
#
# source://rubocop//lib/rubocop/result_cache.rb#108
def load; end

# @api private
#
# source://rubocop//lib/rubocop/result_cache.rb#85
def path; end

# @api private
#
# source://rubocop//lib/rubocop/result_cache.rb#113
def save(offenses); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/result_cache.rb#104
def valid?; end

private

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/result_cache.rb#146
def any_symlink?(path); end

# We combine team and options into a single "context" checksum to avoid
# making file names that are too long for some filesystems to handle.
# This context is for anything that's not (1) the RuboCop executable
# checksum or (2) the inspected file checksum.
#
# @api private
#
# source://rubocop//lib/rubocop/result_cache.rb#236
def context_checksum(team, options); end

# @api private
#
# source://rubocop//lib/rubocop/result_cache.rb#189
def digest(path); end

# @api private
#
# source://rubocop//lib/rubocop/result_cache.rb#157
def file_checksum(file, config_store); end

# Return a hash of the options given at invocation, minus the ones that have
# no effect on which offenses and disabled line ranges are found, and thus
# don't affect caching.
#
# @api private
#
# source://rubocop//lib/rubocop/result_cache.rb#220
def relevant_options_digest(options); end

# The checksum of the RuboCop program running the inspection.
#
# @api private
#
# source://rubocop//lib/rubocop/result_cache.rb#174
def rubocop_checksum; end

# @api private
#
# source://rubocop//lib/rubocop/result_cache.rb#200
def rubocop_extra_features; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/result_cache.rb#142
def symlink_protection_triggered?(path); end

# The external dependency checksums are cached per RuboCop team so that
# the checksums don't need to be recomputed for each file.
#
# @api private
#
# source://rubocop//lib/rubocop/result_cache.rb#227
def team_checksum(team); end

class << self
  # @api private
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/result_cache.rb#81
  def allow_symlinks_in_cache_location?(config_store); end

  # @api private
  #
  # source://rubocop//lib/rubocop/result_cache.rb#75
  def cache_root(config_store); end

  # Remove old files so that the cache doesn't grow too big. When the
  # threshold MaxFilesInCache has been exceeded, the oldest 50% of all the
  # files in the cache are removed. The reason for removing so much is that
  # cleaning should be done relatively seldom, since there is a slight risk
  # that some other RuboCop process was just about to read the file, when
  # there's parallel execution and the cache is shared.
  #
  # @api private
  #
  # source://rubocop//lib/rubocop/result_cache.rb#28
  def cleanup(config_store, verbose, cache_root = T.unsafe(nil)); end

  # @api private
  #
  # source://rubocop//lib/rubocop/result_cache.rb#170
  def inhibit_cleanup; end

  # @api private
  #
  # source://rubocop//lib/rubocop/result_cache.rb#170
  def inhibit_cleanup=(_arg0); end

  # @api private
  #
  # source://rubocop//lib/rubocop/result_cache.rb#42
  def rubocop_required_features; end

  # @api private
  #
  # source://rubocop//lib/rubocop/result_cache.rb#42
  def rubocop_required_features=(_arg0); end

  # @api private
  #
  # source://rubocop//lib/rubocop/result_cache.rb#170
  def source_checksum; end

  # @api private
  #
  # source://rubocop//lib/rubocop/result_cache.rb#170
  def source_checksum=(_arg0); end

  private

  # @api private
  #
  # source://rubocop//lib/rubocop/result_cache.rb#65
  def remove_files(files, dirs, remove_count); end

  # @api private
  #
  # source://rubocop//lib/rubocop/result_cache.rb#52
  def remove_oldest_files(files, dirs, cache_root, verbose); end

  # @api private
  # @return [Boolean]
  #
  # source://rubocop//lib/rubocop/result_cache.rb#48
  def requires_file_removal?(file_count, config_store); end
end

end

# @api private # # source://rubocop//lib/rubocop/result_cache.rb#16 RuboCop::ResultCache::DL_EXTENSIONS = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/result_cache.rb#12 RuboCop::ResultCache::NON_CHANGING = T.let(T.unsafe(nil), Array)

# This class handles the processing of files, which includes dealing with # formatters and letting cops inspect the files. # # source://rubocop//lib/rubocop/runner.rb#8 class RuboCop::Runner

# @return [Runner] a new instance of Runner
#
# source://rubocop//lib/rubocop/runner.rb#62
def initialize(options, config_store); end

# Sets the attribute aborting
#
# @param value the value to set the attribute aborting to.
#
# source://rubocop//lib/rubocop/runner.rb#60
def aborting=(_arg0); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/runner.rb#86
def aborting?; end

# Returns the value of attribute errors.
#
# source://rubocop//lib/rubocop/runner.rb#59
def errors; end

# source://rubocop//lib/rubocop/runner.rb#70
def run(paths); end

# Returns the value of attribute warnings.
#
# source://rubocop//lib/rubocop/runner.rb#59
def warnings; end

private

# source://rubocop//lib/rubocop/runner.rb#199
def add_redundant_disables(file, offenses, source); end

# source://rubocop//lib/rubocop/runner.rb#173
def cached_result(file, team); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/runner.rb#253
def cached_run?; end

# Check whether a run created source identical to a previous run, which
# means that we definitely have an infinite loop.
#
# source://rubocop//lib/rubocop/runner.rb#331
def check_for_infinite_loop(processed_source, offenses_by_iteration); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/runner.rb#225
def check_for_redundant_disables?(source); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/runner.rb#426
def considered_failure?(offense); end

# source://rubocop//lib/rubocop/runner.rb#459
def default_config(cop_name); end

# source://rubocop//lib/rubocop/runner.rb#275
def do_inspection_loop(file); end

# source://rubocop//lib/rubocop/runner.rb#136
def each_inspected_file(files); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/runner.rb#239
def except_redundant_cop_disable_directive?; end

# source://rubocop//lib/rubocop/runner.rb#360
def extract_ruby_sources(processed_source); end

# source://rubocop//lib/rubocop/runner.rb#248
def file_finished(file, offenses); end

# source://rubocop//lib/rubocop/runner.rb#177
def file_offense_cache(file); end

# source://rubocop//lib/rubocop/runner.rb#165
def file_offenses(file); end

# source://rubocop//lib/rubocop/runner.rb#243
def file_started(file); end

# source://rubocop//lib/rubocop/runner.rb#406
def filter_cop_classes(cop_classes, config); end

# source://rubocop//lib/rubocop/runner.rb#107
def find_target_files(paths); end

# source://rubocop//lib/rubocop/runner.rb#417
def formatter_set; end

# source://rubocop//lib/rubocop/runner.rb#474
def get_processed_source(file); end

# source://rubocop//lib/rubocop/runner.rb#345
def inspect_file(processed_source, team = T.unsafe(nil)); end

# source://rubocop//lib/rubocop/runner.rb#118
def inspect_files(files); end

# source://rubocop//lib/rubocop/runner.rb#306
def iterate_until_no_changes(source, offenses_by_iteration); end

# source://rubocop//lib/rubocop/runner.rb#151
def list_files(paths); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/runner.rb#455
def mark_as_safe_by_config?(config); end

# source://rubocop//lib/rubocop/runner.rb#463
def minimum_severity_to_fail; end

# source://rubocop//lib/rubocop/runner.rb#367
def mobilize_team(processed_source); end

# source://rubocop//lib/rubocop/runner.rb#372
def mobilized_cop_classes(config); end

# source://rubocop//lib/rubocop/runner.rb#435
def offenses_to_report(offenses); end

# source://rubocop//lib/rubocop/runner.rb#155
def process_file(file); end

# source://rubocop//lib/rubocop/runner.rb#396
def qualify_option_cop_names; end

# @yield [cop]
#
# source://rubocop//lib/rubocop/runner.rb#231
def redundant_cop_disable_directive(file); end

# source://rubocop//lib/rubocop/runner.rb#265
def save_in_cache(cache, offenses); end

# A Cop::Team instance is stateful and may change when inspecting.
# The "standby" team for a given config is an initialized but
# otherwise dormant team that can be used for config- and option-
# level caching in ResultCache.
#
# source://rubocop//lib/rubocop/runner.rb#502
def standby_team(config); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/runner.rb#413
def style_guide_cops_only?(config); end

# @return [Boolean]
#
# source://rubocop//lib/rubocop/runner.rb#447
def supports_safe_autocorrect?(offense); end

# @yield [team]
#
# source://rubocop//lib/rubocop/runner.rb#214
def team_for_redundant_disables(file, offenses, source); end

# Warms up the RuboCop cache by forking a suitable number of RuboCop
# instances that each inspects its allotted group of files.
#
# source://rubocop//lib/rubocop/runner.rb#94
def warm_cache(target_files); end

class << self
  # @return [Array<#call>]
  #
  # source://rubocop//lib/rubocop/runner.rb#32
  def ruby_extractors; end

  private

  # @return [#call]
  #
  # source://rubocop//lib/rubocop/runner.rb#39
  def default_ruby_extractor; end
end

end

# An exception indicating that the inspection loop got stuck correcting # offenses back and forth. # # source://rubocop//lib/rubocop/runner.rb#11 class RuboCop::Runner::InfiniteCorrectionLoop < ::StandardError

# @return [InfiniteCorrectionLoop] a new instance of InfiniteCorrectionLoop
#
# source://rubocop//lib/rubocop/runner.rb#14
def initialize(path, offenses_by_iteration, loop_start: T.unsafe(nil)); end

# Returns the value of attribute offenses.
#
# source://rubocop//lib/rubocop/runner.rb#12
def offenses; end

end

# @api private # # source://rubocop//lib/rubocop/runner.rb#52 RuboCop::Runner::MAX_ITERATIONS = T.let(T.unsafe(nil), Integer)

# @api private # # source://rubocop//lib/rubocop/runner.rb#55 RuboCop::Runner::REDUNDANT_COP_DISABLE_DIRECTIVE_RULES = T.let(T.unsafe(nil), Array)

# Take a string with embedded escapes, and convert the escapes as the Ruby # interpreter would when reading a double-quoted string literal. # For example, “\n” will be converted to “n”. # # source://rubocop//lib/rubocop/string_interpreter.rb#7 class RuboCop::StringInterpreter

class << self
  # source://rubocop//lib/rubocop/string_interpreter.rb#24
  def interpret(string); end

  private

  # source://rubocop//lib/rubocop/string_interpreter.rb#51
  def interpret_hex(escape); end

  # source://rubocop//lib/rubocop/string_interpreter.rb#55
  def interpret_octal(escape); end

  # source://rubocop//lib/rubocop/string_interpreter.rb#33
  def interpret_string_escape(escape); end

  # source://rubocop//lib/rubocop/string_interpreter.rb#43
  def interpret_unicode(escape); end
end

end

# source://rubocop//lib/rubocop/string_interpreter.rb#8 RuboCop::StringInterpreter::STRING_ESCAPES = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/string_interpreter.rb#12 RuboCop::StringInterpreter::STRING_ESCAPE_REGEX = T.let(T.unsafe(nil), Regexp)

# This class finds target files to inspect by scanning the directory tree and picking ruby files. # # @api private # # source://rubocop//lib/rubocop/target_finder.rb#6 class RuboCop::TargetFinder

# @api private
# @return [TargetFinder] a new instance of TargetFinder
#
# source://rubocop//lib/rubocop/target_finder.rb#9
def initialize(config_store, options = T.unsafe(nil)); end

# Generate a list of target files by expanding globbing patterns (if any). If args is empty,
# recursively find all Ruby source files under the current directory
#
# @api private
# @return [Array] array of file paths
#
# source://rubocop//lib/rubocop/target_finder.rb#17
def find(args, mode); end

# Search for files recursively starting at the given base directory using the given flags that
# determine how the match is made. Excluded files will be removed later by the caller, but as an
# optimization find_files removes the top level directories that are excluded in configuration
# in the normal way (dir/**/*).
#
# @api private
#
# source://rubocop//lib/rubocop/target_finder.rb#58
def find_files(base_dir, flags); end

# Finds all Ruby source files under the current or other supplied directory. A Ruby source file
# is defined as a file with the `.rb` extension or a file with no extension that has a ruby
# shebang line as its first line.
# It is possible to specify includes and excludes using the config file, so you can include
# other Ruby files like Rakefiles and gemspecs.
#
# @api private
# @param base_dir Root directory under which to search for
#   ruby source files
# @return [Array] Array of filenames
#
# source://rubocop//lib/rubocop/target_finder.rb#41
def target_files_in_dir(base_dir = T.unsafe(nil)); end

private

# @api private
#
# source://rubocop//lib/rubocop/target_finder.rb#120
def all_cops_include; end

# @api private
#
# source://rubocop//lib/rubocop/target_finder.rb#106
def combined_exclude_glob_patterns(base_dir); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#172
def configured_include?(file); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#208
def debug?; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#212
def fail_fast?; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#200
def force_exclusion?; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#204
def ignore_parent_exclusion?; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#145
def included_file?(file); end

# @api private
#
# source://rubocop//lib/rubocop/target_finder.rb#191
def order; end

# @api private
#
# source://rubocop//lib/rubocop/target_finder.rb#124
def process_explicit_path(path, mode); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#176
def ruby_executable?(file); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#157
def ruby_extension?(file); end

# @api private
#
# source://rubocop//lib/rubocop/target_finder.rb#161
def ruby_extensions; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#149
def ruby_file?(file); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#168
def ruby_filename?(file); end

# @api private
#
# source://rubocop//lib/rubocop/target_finder.rb#113
def ruby_filenames; end

# @api private
#
# source://rubocop//lib/rubocop/target_finder.rb#187
def ruby_interpreters(file); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#153
def stdin?; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#98
def symlink_excluded_or_infinite_loop?(base_dir, current_dir, exclude_pattern, flags); end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_finder.rb#73
def to_inspect?(file, hidden_files, base_dir_config); end

# @api private
#
# source://rubocop//lib/rubocop/target_finder.rb#82
def wanted_dir_patterns(base_dir, exclude_pattern, flags); end

# @api private
#
# source://rubocop//lib/rubocop/target_finder.rb#134
def without_excluded(files); end

end

# @api private # # source://rubocop//lib/rubocop/target_finder.rb#7 RuboCop::TargetFinder::HIDDEN_PATH_SUBSTRING = T.let(T.unsafe(nil), String)

# The kind of Ruby that code inspected by RuboCop is written in. # # @api private # # source://rubocop//lib/rubocop/target_ruby.rb#6 class RuboCop::TargetRuby

# @api private
# @return [TargetRuby] a new instance of TargetRuby
#
# source://rubocop//lib/rubocop/target_ruby.rb#254
def initialize(config); end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#270
def rubocop_version_with_support; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#258
def source; end

# @api private
# @return [Boolean]
#
# source://rubocop//lib/rubocop/target_ruby.rb#266
def supported?; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#262
def version; end

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/target_ruby.rb#240
  def supported_versions; end
end

end

# The lock file of Bundler may identify the target ruby version. # # @api private # # source://rubocop//lib/rubocop/target_ruby.rb#187 class RuboCop::TargetRuby::BundlerLockFile < ::RuboCop::TargetRuby::Source

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#188
def name; end

private

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#221
def bundler_lock_file_path; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#194
def find_version; end

end

# @api private # # source://rubocop//lib/rubocop/target_ruby.rb#8 RuboCop::TargetRuby::DEFAULT_VERSION = T.let(T.unsafe(nil), Float)

# If all else fails, a default version will be picked. # # @api private # # source://rubocop//lib/rubocop/target_ruby.rb#228 class RuboCop::TargetRuby::Default < ::RuboCop::TargetRuby::Source

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#229
def name; end

private

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#235
def find_version; end

end

# The target ruby version may be found in a .gemspec file. # # @api private # # source://rubocop//lib/rubocop/target_ruby.rb#53 class RuboCop::TargetRuby::GemspecFile < ::RuboCop::TargetRuby::Source

extend ::RuboCop::AST::NodePattern::Macros

# source://rubocop//lib/rubocop/target_ruby.rb#64
def gem_requirement_versions(param0 = T.unsafe(nil)); end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#70
def name; end

# source://rubocop//lib/rubocop/target_ruby.rb#59
def required_ruby_version(param0); end

private

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#121
def find_default_minimal_known_ruby(right_hand_side); end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#76
def find_version; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#86
def gemspec_filename; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#93
def gemspec_filepath; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#117
def version_from_array(array); end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#98
def version_from_gemspec_file(file); end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#105
def version_from_right_hand_side(right_hand_side); end

end

# @api private # # source://rubocop//lib/rubocop/target_ruby.rb#56 RuboCop::TargetRuby::GemspecFile::GEMSPEC_EXTENSION = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/target_ruby.rb#7 RuboCop::TargetRuby::KNOWN_RUBIES = T.let(T.unsafe(nil), Array)

# @api private # # source://rubocop//lib/rubocop/target_ruby.rb#10 RuboCop::TargetRuby::OBSOLETE_RUBIES = T.let(T.unsafe(nil), Hash)

# The target ruby version may be configured in RuboCop’s config. # # @api private # # source://rubocop//lib/rubocop/target_ruby.rb#39 class RuboCop::TargetRuby::RuboCopConfig < ::RuboCop::TargetRuby::Source

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#40
def name; end

private

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#46
def find_version; end

end

# The target ruby version may be found in a .ruby-version file. # # @api private # # source://rubocop//lib/rubocop/target_ruby.rb#133 class RuboCop::TargetRuby::RubyVersionFile < ::RuboCop::TargetRuby::Source

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#137
def name; end

private

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#143
def filename; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#151
def find_version; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#147
def pattern; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#158
def version_file; end

end

# @api private # # source://rubocop//lib/rubocop/target_ruby.rb#134 RuboCop::TargetRuby::RubyVersionFile::RUBY_VERSION_FILENAME = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/target_ruby.rb#135 RuboCop::TargetRuby::RubyVersionFile::RUBY_VERSION_PATTERN = T.let(T.unsafe(nil), Regexp)

# @api private # # source://rubocop//lib/rubocop/target_ruby.rb#244 RuboCop::TargetRuby::SOURCES = T.let(T.unsafe(nil), Array)

# A place where information about a target ruby version is found. # # @api private # # source://rubocop//lib/rubocop/target_ruby.rb#24 class RuboCop::TargetRuby::Source

# @api private
# @return [Source] a new instance of Source
#
# source://rubocop//lib/rubocop/target_ruby.rb#27
def initialize(config); end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#25
def name; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#32
def to_s; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#25
def version; end

end

# The target ruby version may be found in a .tool-versions file, in a line # starting with ‘ruby`. # # @api private # # source://rubocop//lib/rubocop/target_ruby.rb#166 class RuboCop::TargetRuby::ToolVersionsFile < ::RuboCop::TargetRuby::RubyVersionFile

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#170
def name; end

private

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#176
def filename; end

# @api private
#
# source://rubocop//lib/rubocop/target_ruby.rb#180
def pattern; end

end

# @api private # # source://rubocop//lib/rubocop/target_ruby.rb#167 RuboCop::TargetRuby::ToolVersionsFile::TOOL_VERSIONS_FILENAME = T.let(T.unsafe(nil), String)

# @api private # # source://rubocop//lib/rubocop/target_ruby.rb#168 RuboCop::TargetRuby::ToolVersionsFile::TOOL_VERSIONS_PATTERN = T.let(T.unsafe(nil), Regexp)

# source://rubocop//lib/rubocop/ast_aliases.rb#7 RuboCop::Token = RuboCop::AST::Token

# This module contains a collection of useful utility methods. # # source://rubocop//lib/rubocop/util.rb#5 module RuboCop::Util

class << self
  # source://rubocop//lib/rubocop/util.rb#6
  def silence_warnings; end
end

end

# source://rubocop//lib/rubocop/error.rb#10 class RuboCop::ValidationError < ::RuboCop::Error; end

# This module holds the RuboCop version information. # # source://rubocop//lib/rubocop/version.rb#5 module RuboCop::Version

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/version.rb#108
  def document_version; end

  # @api private
  #
  # source://rubocop//lib/rubocop/version.rb#58
  def extension_versions(env); end

  # Returns feature version in one of two ways:
  #
  # * Find by RuboCop core version style (e.g. rubocop-performance, rubocop-rspec)
  # * Find by `bundle gem` version style (e.g. rubocop-rake)
  #
  # @api private
  #
  # source://rubocop//lib/rubocop/version.rb#92
  def feature_version(feature); end

  # @api private
  #
  # source://rubocop//lib/rubocop/version.rb#43
  def parser_version; end

  # @api private
  #
  # source://rubocop//lib/rubocop/version.rb#113
  def server_mode; end

  # @api private
  #
  # source://rubocop//lib/rubocop/version.rb#21
  def version(debug: T.unsafe(nil), env: T.unsafe(nil)); end
end

end

# source://rubocop//lib/rubocop/version.rb#12 RuboCop::Version::CANONICAL_FEATURE_NAMES = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/version.rb#16 RuboCop::Version::EXTENSION_PATH_NAMES = T.let(T.unsafe(nil), Hash)

# source://rubocop//lib/rubocop/version.rb#8 RuboCop::Version::MSG = T.let(T.unsafe(nil), String)

# source://rubocop//lib/rubocop/version.rb#6 RuboCop::Version::STRING = T.let(T.unsafe(nil), String)

# A Warning exception is different from an Offense with severity ‘warning’ # When a Warning is raised, this means that RuboCop was unable to perform a # requested operation (such as inspecting or correcting a source file) due to # user error # For example, a configuration value in .rubocop.yml might be malformed # # source://rubocop//lib/rubocop/warning.rb#9 class RuboCop::Warning < ::StandardError; end

# Find duplicated keys from YAML. # # @api private # # source://rubocop//lib/rubocop/yaml_duplication_checker.rb#6 module RuboCop::YAMLDuplicationChecker

class << self
  # @api private
  #
  # source://rubocop//lib/rubocop/yaml_duplication_checker.rb#7
  def check(yaml_string, filename, &on_duplicated); end

  private

  # @api private
  #
  # source://rubocop//lib/rubocop/yaml_duplication_checker.rb#21
  def traverse(tree, &on_duplicated); end
end

end

# Extensions to the core String class # # source://rubocop//lib/rubocop/core_ext/string.rb#4 class String

include ::Comparable

end